我有一点怀疑。我有以下查询
SELECT empno
|| '|'
|| ename
|| '|'
|| sal
|| '|'
|| comm
FROM (SELECT empno,
ename,
sal,
comm
FROM emp);
输出结果如下:
7611|Grp Fract|2001|.11
7499|ALLEN WOR|1600|.22
7521|WARD|1250|10.23
7566|JONES|2975|234.23
7654|MARTIN|1250|.98
最后一列COMM的值为0.11,0.22,0.98
但上面的查询返回的数据为.11,.22,.98。当我连接数据以及如何解决这个问题时,任何人都可以帮助我理解它为什么会发生这种情况,我需要准确的值,因为它在COMM列中。
o / p应为
7611|Grp Fract|2001|0.11
7499|ALLEN WOR|1600|0.22
7521|WARD|1250|10.23
7566|JONES|2975|234.23
7654|MARTIN|1250|0.98
Ths comm列定义为number(7,2)
。
由于
答案 0 :(得分:7)
将TO_CHAR
功能与proper format model一起使用。看来你想要LTRIM(TO_CHAR(comm,'999990.99'))
。
答案 1 :(得分:0)
LTRIM(TO_CHAR(comm,'999990.99'))适用于小数点后2位的值。 如果在上面使用了像0.123523这样的值,则它会舍入小数位,仅保留2位数。