SQL的null查询、isnull函数、case when then问题和net页面设置问题
1.怎样在一个表中查询指定字段值为null的记录?
最直接想法:select * from 表名 where 字段 = null
测试结果:没有报错,但什么也没有显示出来。
正确答案:select * from 表名 where 字段 is null
2.SQL的IFNULL问题:
使用IFNULL函数,可以使用指定的值替换null
语法如下:ISNULL ( check _ expression , replacement_value )
即:当查询出的check _ expression的值为null时,即使用 replacement_value(比如0之类的)替换掉。
注意:第2个参数是和第1个参数同类型的值类型,不能也是表达式,否则会报错。
3.关于case when then 语句:
举例:case when money is null then 0 else money end
即:当字段money的值为null时,使用0进行表示,否则直接money字段的数值。
MySQL中的ISNULL和IFNULL有区别:
ISNULL只是用来判断是否为空,不能实现替换功能;而IFNULL不仅可以用来判断是否为空,还可以实现替换功能。