1、数据库中,一个列如果没有指定值,那么值就为null,这个null和C#中的null表示“没有”不同,数据库中的null表示“不知道”,而不是表示没有。
2、因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。
3、SELECT * FROM T_Employee WHERE FNAME=null ;
SELECT * FROM T_Employee WHERE FNAME!=null ;
都没有任何返回结果,因为数据库也“不知道”。
4、SQL中使用is null、is not null来进行空值判断:
SELECT * FROM T_Employee WHERE FNAME is null ;
SELECT * FROM T_Employee WHERE FNAME is not null ;
5、注意区分null(不知道)和空字符串。
C#中的null表示没有引用,SQL Server中的null表示空值。