Я знаю, что по умолчанию NULL = NULL не соответствует действительности, такNULL равенство в SQL Server 2008 R2
if null = null select 1 else select 2
даст вам 2
Затем вы можете изменить это поведение
SET ANSI_NULLS OFF
и результат будет 1
Мой вопрос в том, почему после установки ANSI_NULLS в положение OFF, следующий SELECT по-прежнему не возвращает вещь?
select * from (select 'a', null) ta (c1, c2), (select 'b', null) tb (c1, c2)
where ta.c2 = tb.c2
Это может вам помочь. пожалуйста, смотрите! http://stackoverflow.com/questions/9766717/in-sql-server-what-does-set-ansi-nulls-on-means – Mitz