sql将同一个表中的两列Int数据相加,有些数据是空的是怎么回事?
1个回答
展开全部
不能这样加!
有些数据为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)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询