两种方法解决Oracle的数值0.5只显示成.5问题
2016-04-21 10:33
1381 查看
Oracle对数值0.n转换成char类型的时候会自动忽略前面的0(原因好像是为了节省空间0.5保存到数据库为.5)。例如:
解决方法:
实验如下:
SQL> SELECT to_char(0.5) FROM DUAL; TO_CHAR(0.5) ------------ .5
解决方法:
方法一、 SELECT CASE WHEN l_num LIKE '.%' THEN '0'||l_num ELSE to_char(l_num) END sal FROM dual;
方法二、 SELECT decode(substr(l_num,1,1),'.','0'||l_num,l_num) FROM DUAL;
实验如下:
对方法一进行实验,为了区分开来,使用不同数值替换 SQL> SELECT CASE 2 WHEN 0.5 LIKE '.%' THEN 3 '0'||.55555 4 ELSE 5 to_char(6666) 6 END sal 7 FROM dual; SAL ------- 0.55555
方法二进行实验,为了区分使用不同数值进行替换 SQL> SELECT decode(substr(0.5,1,1),'.','0'||.55555,6666) FROM DUAL; DECODE(SUBSTR(0.5,1,1),'.','0' ------------------------------ 0.55555
相关文章推荐
- Oracle字符集和国家字符集
- Understanding and Using HRMS Security in Oracle HRMS
- oracle 更改服务端字符集 更改oracle字符集
- oracle impdp ora-31626作业不存在...ora-04031无法分配32字节共享内存。。。
- Toad for oracle 12.1下载
- Oracle sqlldr
- Oracle-常用语句
- 解决 oracle没有Scott用户 的问题
- 在.NET开发面向Oracle数据库的应用程序
- oracle数据库安装2
- Oracle 游标2
- oracle学习 第四章 单行函数 ——02
- Oracle的一些命令
- Oracle实现校园卡刷卡系统
- Oracle游标
- 优化器的使用oracle ---explain plan
- TimesTen 与Oracle 数据库 12c的结合
- Oracle处于recover状态的数据文件是无法使用exp导出数据的
- Oracle-SQL04
- c# 使用OracleParameter,同时使用replace函数