[解决办法] null 不可等于 [解决办法] 当选项SET ANSI_NULLS 设置为OFF的时候,结果是相同的 设置为ON的时候结果不同 [解决办法] declare @t table(ID int,[name] varchar(10)) insert @t select 1,'A' insert @t select 2,'G' insert @t select null,'H' insert @t select '','K' select * from @t where id is null select * from @t where id=null
ID name ----------- ---------- NULL H
(1 行受影响)
ID name ----------- ----------
(0 行受影响)
[解决办法]
SQL code
当选项SET ANSI_NULLS 设置为OFF的时候,结果是相同的 设置为ON的时候结果不同select * from where b is null与 select * from where b = null select * from where b = 'null' --当b=null字符时 [解决办法]
create table test(a varchar(10) null)insert testselect NULLunion allselect '1'union allselect NULLunion allselect '2'union allselect NULLselect * from test--有多条结果返回set ANSI_NULLS offgoselect * from test where a = NULLgo--没有结果返回set ANSI_NULLS ongoselect * from test where a = NULLgodrop table test