问题描述
|
我有一个小疑问。我有以下查询
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
此通讯列定义为“ 3”。
谢谢
解决方法
将
TO_CHAR
功能与适当的格式模型配合使用。看来你要5英镑。
,LTRIM(TO_CHAR(comm,\'999990.99 \'))适用于小数点后两位数字的值。
如果在上面使用了像0.123523这样的值,它将四舍五入到小数点后一位,仅保留两位数。