码迷,mamicode.com
首页 > 数据库 > 详细

sql将同一个表中的两列Int数据相加,有些数据是空的

时间:2016-11-21 08:37:30      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:style   rom   不同的   mon   isnull   需要   span   相加   update   

不能这样加!

有些数据为null吧,null+任何值=null

如这句话就不行

update HY_MYGGCYSWCQKB set HY_MYGGCYSWCQKB.Sj_By_Sr=HY_MYGGCYSWCQKB.Sj_By_Sr+HY_MYGGCYSWCQKB.Sj_By_Sr_Tz-HY_MYGGCYSWCQKB.Sj_By_Sr_Tj;

如果有一列未Null,相加结果就为null。

正常来说可以,

SELECT
total + money
FROM


就可以了。
但是:
有些数据是空的情况下, 需要根据不同的数据库, 用不用的函数
也就是 如果 数据为空, 那么按照 0 来计算
Oracle 或者 DB2 使用 NVL( total , 0) + NVL( money, 0)
SQL Server 使用 ISNULL( total , 0) + ISNULL( money, 0)
MySQL 或者 SQLite 使用 IFNULL( total , 0) + IFNULL( money, 0)

sql将同一个表中的两列Int数据相加,有些数据是空的

标签:style   rom   不同的   mon   isnull   需要   span   相加   update   

原文地址:http://www.cnblogs.com/alsf/p/6084154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!