oracle sql 查询 将varchar类型转换为数字类型 精确到小数点后两位select to_number('123.00','99d00') ... 不管用
解决方案 »
- 新手写存储过程,提示执行成功,但是没有新表产生
- sql语句更新两个字段相加的问题
- Oracel能够把AL32UTF8编码的繁体字转换为Big5编码么?繁体站点注册的会员发送繁体电子邮件杂志,会员姓名是乱码,这个问题怎么解决?
- oracle sql语句问题
- 求助,一条简单的存储过程实现
- sql语句优化
- update set要对两个字段更新该怎么写?
- 一个关于Pro*c开发的问题
- 电脑里没有oracle的监听服务
- 急!!求助!!oracle11g rac 总是有Fatal NI connect error 12170 怎么解决
- 查找联机日志文件或归档日志文件
- 查询每月数据,如何消除笛卡尔积,麻烦各位大虾指点
oracle小数点后全是0的话,默认不显示
这样可以
SQL> col t1 format '999,999,990.99'
SQL> / T1
---------------
123.00SQL> select to_number('123.00') t1 from dual
2 / T1
---------------
123.00这样小数位为零的话不会显示,只有像上面的这样
1* select to_number('123.00','999,990.99') t1 from dual
SQL> / T1
----------
123
--小数位不为零的就可以显示
1* select to_number('123.01','fm99,990.00') from dual
SQL> /TO_NUMBER('123.01','FM99,990.00')
---------------------------------
123.01
--单独是为了显示也可以这样 得考虑效率 1* select to_char(round('123.0052',2),'fm999,990.00') from dual
SQL> /TO_CHAR(ROU
-----------
123.01SQL> edi
已写入 file afiedt.buf 1* select to_char(round('123.00',2),'fm999,990.00') from dual
SQL> /TO_CHAR(ROU
-----------
123.00
select to_char(round('123.00',2),'fm999,990.00') from dual; --结果保留小数位
select ROUND(to_number('123.00'),2) from dual; --结果没有小数位