Oracle中空值与数字相加问题

简介:

select 10 + 10 + 10 from dual

结果是30,完全没问题。


select null + 10 + 10 from dual

结果是空串,但期望的结果是20。


select nvl(null,0) + 10 + 10 from dual

这样处理结果为20。若查询有空值的情况需利用nvl处理,否则运算有误。


select null || 10 || 10 from dual

字符串拼接没有问题。

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1416521如需转载请自行联系原作者


woshixuye111


相关文章
|
SQL Oracle 关系型数据库
Oracle查询优化-处理空值
【1月更文挑战第1天】【1月更文挑战第1篇】数据库中的空值(例如:NULL或者 '')会导致一些不可预知的错误,因此需要在查询时就要处理好,确保数据查询的准确性,减轻代码压力。
810 0
|
SQL Oracle 关系型数据库
Oracle之如何处理空值
Oracle之如何处理空值
724 0
|
SQL Oracle 关系型数据库
Oracle之not in中不能存在空值
Oracle之not in中不能存在空值
844 1
|
Oracle 关系型数据库 数据库
Oracle查询优化-处理排序空值
【1月更文挑战第3天】【1月更文挑战第8篇】在处理Oracle查询结果排序时,如果涉及到空值(null),Oracle提供了一些特定的语法来帮助您控制排序的顺序。
479 0
|
Oracle 关系型数据库 Java
在使用MyBatis连接Oracle进行查询时遇到查询结果集不为空, 某些字段空值情况
在使用MyBatis连接Oracle进行查询时,出现运行结果正常,但是名字取值为空的情况
在使用MyBatis连接Oracle进行查询时遇到查询结果集不为空, 某些字段空值情况
|
Oracle Java 关系型数据库
Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)的两种解决方案
Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)的两种解决方案
1155 0
|
关系型数据库
|
Oracle 关系型数据库 数据库
oracle和sqlserver中空值的区别
        今天在从sqlserver导数据到oracle的过程中,oracle报错,提示不能将NULL值插入非空的列中。
1240 0
|
SQL Oracle 关系型数据库
关于Oracle数据库中SQL空值排序的问题
在Oracle中进行查询排序时,如果排序字段里面有空值的情况下,排序结果可能会达不到自己想要的结果。   如 select * from tableTest order by VISITS desc   上图可以看到表示服务访问次数的“VISITS”字段上的空值记录排序时放在前面,和实际逻辑不对   将原来的sql语句改写为:select * from tableTest order by VISITS desc nulls last,   "nulls last"控制将空值记录放在后面,当然,你也可以用"nulls first"将控制记录放在前面。
1152 0
|
Oracle 关系型数据库
oracle 空值处理,排序过滤
oracle认为 null 最大。 升序排列,默认情况下,null值排后面。 降序排序,默认情况下,null值排前面。 有几种办法改变这种情况: (1)用 nvl 函数或decode 函数 将null转换为一特定值 (2)用case语法将null转换为一特定值(oracle9i以后版本支持。和sqlserver类似): order by (case my
2272 0

推荐镜像

更多