NULL不是数值
declare @alive bit;set @alive = null;if @alive = 1 or @alive != 1 print 'Alive or Dead';else print 'Huh? Neither alive nor dead'; if @alive=@alive PRINT 'It must equal itself, right?'ELSE PRINT 'Not always. null does not equal null';
declare @alive bit;set @alive = null;if @alive = 1 or @alive != 1 print 'Alive or Dead';else print 'Huh? Neither alive nor dead'; if null is null PRINT 'It must equal itself, right?'ELSE PRINT 'Not always. null does not equal null';/*Huh? Neither alive nor deadIt must equal itself, right?
[解决办法]
Null is woman's looks
[解决办法]
null does not equal null
[解决办法]
What would be the output ?declare @a smallint set @a = 0 select nullif ( @a , '' )
[解决办法]
NULL<>''
[解决办法]
mark
[解决办法]
null does not equal null!
null is null!
[解决办法]
俺只会中文
NULL确实不能比较只能IS
[解决办法]
改了配置已经可以比较哦
[解决办法]
都是些外国人。呵呵 null是什么都没有的意思。所以由此所得 null就不是数字
[解决办法]
is null
[解决办法]
其实楼主是拉晒英文呢
[解决办法]
null=undefined value=未知
[解决办法]
set ansi_nulls off后结果就不同了.
set ansi_nulls offdeclare @alive bit;set @alive = null;if @alive = 1 or @alive != 1 print 'Alive or Dead';else print 'Huh? Neither alive nor dead'; if @alive=@alive PRINT 'It must equal itself, right?'ELSE PRINT 'Not always. null does not equal null';--> 结果Alive or DeadIt must equal itself, right?
[解决办法]
null确实不能比较 但是可以通过 isnull转化在比较 isnull(字段,'') 如果是NULL则转化为 ‘’ 空字符串
[解决办法]
null不等于任何值,包括本身。
摘自t-sql技术内幕
[解决办法]
null just looks like '',but not equal '',understand?
[解决办法]
NULL本来就不是数值
[解决办法]
学习了,不过不知道微软搞这个set干嘛用的
SET ANSI_NULLS OFFdeclare @alive bit;set @alive = null;if @alive = 1 or @alive != 1 print 'Alive or Dead';else print 'Huh? Neither alive nor dead'; if @alive=@alive PRINT 'It must equal itself, right?'ELSE PRINT 'Not always. null does not equal null';SET ANSI_NULLS OFF/*Alive or DeadIt must equal itself, right?*/这样呢? 因为当 SET ANSI_NULLS 为 ON 时,如果比较中有一个或多个表达式为 NULL,则既不输出 TRUE 也不输出 FALSE,而是输出 UNKNOWN。这是因为未知值不能与其他任何值进行逻辑比较。这种情况发生在一个表达式与 NULL 单词进行比较,或者两个表达式相比,而其中一个表达式取值为 NULL 时。当 ANSI_NULLS 为 OFF 时,如果 ColumnA 包含空值,则比较操作 ColumnA = NULL 返回 TRUE;如果 ColumnA 除包含 NULL 外还包含某些值,则比较操作返回 FALSE。此外,两个都取空值的表达式的比较也输出 TRUE。
------解决方案--------------------
结尾的时候写错了 SET ANSI_NULLS ON
[解决办法]