数据库中,一个列如果没有指定值,那么值就为null,这个null和C#中的null,数据库中的null表示

“不知道”,而不是表示没有。


因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。


SELECT * FROM T_Employee WHERE FNAME=null ; 

SELECT * FROM T_Employee WHERE FNAME!=null ;

   

 都没有任何返回结果,因为数据库也“不知道”。




SQL中使用is null、is not null来进行空值判断: 


SELECT * FROM T_Employee WHERE FNAME is null ;


c#中处理用DbNull.Value

SELECT * FROM T_Employee WHERE FNAME is not null ;