数据库中,一个列如果没有指定值,那么值就为null,数据库中的null表示“不知道”,而不是表示没有。因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。
select * from score where english = null ;
select * from score where english != null ;都没有任何返回结果,因为数据库也“不知道”。
SQL中使用is null、is not null来进行空值判断:
select * from score where english is null ; select * from score where english is not null ;
ISNULL ( check_expression , replacement_value )
select * from TblStudent
--查询所有年龄是null的同学信息
--null值无法使用=或<>来进行比较
--unknown
--判断null值必须使用is null或者is not null
select * from TblStudent where tsage is null
select * from TblStudent where tsage=null
--查询所有年龄不是null的同学
select * from TblStudent where tsage<>null
select * from TblStudent where tsage is not null
select * from TblStudent where tsage=25
select * from TblStudent where tsage<>25
--任何值与null进行计算,得到的结果还是null
select 2000+null