数据库中,一个列如果没有指定值,那么值就为null,数据库中的null表示unknown“不知道”,而不是表示没有。因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。

在SQL Server里,如果select出的某个字段为空(或者不存在该条数据)那么,你对该字段进行大于或小于判断时,结果一定是false

declare @ID int

set @ID = null;
if @ID >1
select @ID AS trueID
ELSE select @ID falseID

set 可替换为select @ID = ID from Test where ID =1;这样的语句,结果都为

falseID
NULL