SQL> select round(123,2),round(123.1,2),round(123.12,2),round(123.456,2) from dual;ROUND(123,2) ROUND(123.1,2) ROUND(123.12,2) ROUND(123.456,2)
------------ -------------- --------------- ----------------
123 123.1 123.12 123.46
------------ -------------- --------------- ----------------
123 123.1 123.12 123.46
to_char()后,就不一样了
例如:
输入:0.2 输入就会变为:.2有参数可以限制吗?
to_char()后,就不一样了
例如:
输入:0.2 输入就会变为:.2有参数可以限制吗?
例如:
SELECT to_char('1','fm0.0') FROM dual
结果为:1.0
而我想要的是1就是说一个数要保留到小数点后两位,同时如果小数点后为0,则不显示
测试:
SQL> SELECT DECODE(SIGN(1.0-1),-1,LTRIM(TO_CHAR(1.0,'0.0')),TO_CHAR(1.0)) FROM DUAL;DECODE(SIGN(1.0-1),-1,LTRIM(TO
------------------------------
1SQL> SELECT DECODE(SIGN(2.0-1),-1,LTRIM(TO_CHAR(2.0,'0.0')),TO_CHAR(2.0)) FROM DUAL;DECODE(SIGN(2.0-1),-1,LTRIM(TO
------------------------------
2SQL> SELECT DECODE(SIGN(0.2-1),-1,LTRIM(TO_CHAR(0.2,'0.0')),TO_CHAR(0.2)) FROM DUAL;DECODE(SIGN(0.2-1),-1,LTRIM(TO
------------------------------
0.2