cast(a.num as numeric(18, 5))/cast(b.cknum as numeric(18, 5) 这个得到的是数值类型,而你前面两个得到的是字符类型,我认为只要把这个直接转字符就可以了:to_char(a.num/b.cknum, $99999.99)