本人为oracle菜鸟,
select 500 / 1000 from dual
显示:0.5
select to_char(500 / 1000) from dual
显示:.5我想请教,ORACLE中如何将数字转化为字符串能够正确显示出0.5
select 500 / 1000 from dual
显示:0.5
select to_char(500 / 1000) from dual
显示:.5我想请教,ORACLE中如何将数字转化为字符串能够正确显示出0.5
SQL> /TO_CHAR(50
----------
0.5
小数位可以放长一点,精度高!
//一般是这么写,比较方便,方法很多,不过要注意小数位数,保留一位小数是上面sql,两位如:
select to_char(500 / 1000,'999,990.99') from dual,如此类推
我不需要保留固定的小数select 500 / 1000 from dual
显示:0.5
select to_char(500 / 1000) from dual
显示:.5例:select to_char(500 / 1000,'0.0') from dual
这样结果是为 0.5
但是当select to_char(5000 / 1000,'0.0') from dual
这是的结果是 5.0 (这样是有问题的,我需要的是5不要后面的.0)但是当select to_char(5000 / 1000,'0.00') from dual
这是的结果是 5.00 (这样是有问题的,我需要的是5不要后面的.00)
请教该如何实现呢?
这样结果是为 0.5
但是当select to_char(5000 / 1000,'0.0') from dual
这是的结果是 5.0 (这样是有问题的,我需要的是5不要后面的.0)但是当select to_char(5000 / 1000,'0.00') from dual
这是的结果是 5.00 (这样是有问题的,我需要的是5不要后面的.00)但是当select to_char(500 / 1000,'0.00') from dual
这是的结果是 0.50(这样是有问题的,我需要先显示的是0.5而不是0.50)
请教该如何实现呢?
上面不是有人给出了答案了吗
引用楼主 haoren001 的回复:
本人为oracle菜鸟,
select 500 / 1000 from dual
显示:0.5
select to_char(500 / 1000) from dual
显示:.5我想请教,ORACLE中如何将数字转化为字符串能够正确显示出0.5
正确例:select to_char(500 / 1000,'0.0') from dual
这样结果是为 0.5
但是当select to_char(5000 / 1000,'0.0') from dual
这是的结果是 5.0 (这样是有问题的,我需要的是5不要后面的.0)但是当select to_char(5000 / 1000,'0.00') from dual
这是的结果是 5.00 (这样是有问题的,我需要的是5不要后面的.00)但是当select to_char(500 / 1000,'0.00') from dual
这是的结果是 0.50(这样是有问题的,我需要先显示的是0.5而不是0.50)
ABS(5/100)
----------
0.05
SQL> SELECT abs(5 / 10) FROM DUAL;
ABS(5/10)
----------
0.5
SQL> SELECT abs(5 / 1) FROM DUAL;
ABS(5/1)
----------
5
SQL> SELECT abs(5 / 0.1) FROM DUAL;
ABS(5/0.1)
----------
50
select rtrim(to_char(50/1000, 'fm9990.99'),'.') from dual;
0.05
select rtrim(to_char(500/1000, 'fm9990.99'),'.') from dual;
0.5
select rtrim(to_char(5000/1000, 'fm9990.99'),'.') from dual;
5
select RTRIM(to_char(500/1000, 'fm99999999999999999990.9999999999999999999999'),'.') from dual;