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

如题所述

不能这样加!

有些数据为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数据相加,有些数据是空的是怎么回事?
如果有一列未Null,相加结果就为null。正常来说可以,SELECTtotal + moneyFROM表就可以了。但是:有些数据是空的情况下, 需要根据不同的数据库, 用不用的函数也就是 如果 数据为空, 那么按照 0 来计算Oracle 或者 DB2 使用 NVL( total , 0) + NVL( money, 0)SQL Se...

sql语句如何把查询结果中某一字段相同的列的另一字段值相加 应该怎么写...
3、接着在该界面中,输入根据一个字段不同值查询不同表中的一个字段的sql语句“SELECT sum(BonusPenaltyMoney) FROM mySGBonusPenalty group by SGProjectNo”。4、然后在该界面中,点击左上方“执行”按钮。5、最后在该界面中,显示某一字段相同的列的另一字段值相加值。

请教:SQL语句如何实现同一列里如果与上一行数据相同,则这一行该列数据...
deallocate C_q 其实你要做报表使用游标是一个很好的选择。我采用的就是这个方法给你做的,效果一样。不会你再问。望采纳,谢谢!

用一条SQL语句同时更新一个表中的两个字段
前面的and 换成逗号,最后那个0101要用单引号引起来(前面几位都没有发现啊)。

sql同一表里同一个字段下的两条数字互换
可以这样考虑:定义一个变量a,赋值123 定义一个变量b,赋值456 把王刚的学号修改成变量b的值 把学号为456的修改成变量a的值 代码参考如下,未编译:declare @a int set @a=123declare @b int set @b=456update abcset xuehao=@bwhere xingming='王刚'update abset xuehao=@awhere xuehao=...

sql列统计求和
第一步 在数据库中 右击-编写脚本为-insert 到 第二步 把字段都拷贝出来 第三步 用替换的方式 把",[" 替换成 "SUM("第四步 把"]"括号替换成"),"。第五步就是把这些列放到一行上面 在替换的时候选择正则表达式 然后把"\\n" 换成 "" 空就好。这个方法看起来步骤多 其实蛮简单的。 希望...

怎么用sql语句添加非空列 我哪写错了?
原因:表中原本有数据(存在很多行),在你新增加非空字段后,原来存在的行中的数据本来为空,但你又要求它非空,这样就矛盾了,所以该命名就不会执行,就会报错。解决方法:1、alter table student add grade int 不加非空约束;2、update table student set grade=60 where grade is NULL 将存在...

建数据库表时给一个字段加可为空和默认值为0的约束该怎么加
1、首先打开数据库右键要设置表字段唯一约束的表,显示列表,如图。2、然后点击设计表,弹出表窗口,如图,点击索引。3、进入索引界面,设置名称,选择栏位,也就是选择表的字段,如图。4、然后点击索引列表下拉按钮,选择唯一类型,如图所示。5、最后保存设置,写个插入语句执行,第一次成功,第二次表...

sql两列number类型值相加转为一列
sql中如果两列都是number类型可以直接相加 参考语句:select 列1,列2,列1+列2 as 列加 from 表 如果类型不一样可以类型转换 select 列1,列2,列1+cast(列2 as int) as 列加 from 表

怎样用Sql语句判断一张表中的两条数据相同
您好:通常来说从第一条数据上提取条件,来检索第二条数据。参考语句如下。DECLARE @条件1NVARCHAR(50)DECLARE @条件2NVARCHAR(50)DECLARE @条件3NVARCHAR(50)SELECT @条件1=字段1 ,@条件2=字段2 ,@条件3=字段3 FROM 第一条数据所在表 WHERE 第一条数据主键 DECLARE @ExistINTSELECT @Exist=...

相似回答