空数据我想了解处理的黑斑羚
我使用下表
╔════╦══════════════╦══════════╗
║ id ║ name ║ salary ║
╠════╬══════════════╬══════════╣
║ 1 ║ cde ║ 5636 ║
║ 2 ║ asd ║ 148 ║
║ 3 ║ pwe ║ null ║
║ 4 ║ lmn ║ 959 ║
╚════╩══════════════╩══════════╝
当我执行以下查询
在因帕拉算术运算的行为
select salary+20 as sum1 from table where id=3;
它返回我
|sum1
---|-----
1 |NULL
当我运行在列总和与
select sum(salary) as sum1 from table;
|sum1
---|-----
1 |6743
我无法了解相同的算术运算表现不同
按照你的理论,当我这样做从表总和(工资),其中id = 3应该忽略空并打印总和为zero.But还是它返回NULL – sri
啊我看你可能会感到困惑。因此,在sum()中,如果数据库中有有效值,它将返回这些有效值的总和。但是,如果你试图总结无效的值,即。 'a + null + 1.144es'或者它会抱怨并返回'null'。但是'10 + null + 20 + a'会返回'30'。 – Francisco
10 + null + 20 + a也返回NULL – sri