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

 我来答
淋漓尽致的love
推荐于2019-09-07 · TA获得超过1.2万个赞
知道小有建树答主
回答量:292
采纳率:100%
帮助的人:23万
展开全部

不能这样加!

有些数据为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)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式