powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select 1 where 3 not in ( null , 1, 2 )
7 сообщений из 7, страница 1 из 1
select 1 where 3 not in ( null , 1, 2 )
    #32040910
a2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
a2
Гость
select 1 where 3 not in ( null , 1, 2 )

- пародоксальный результат? неужеле так и должно быть?
...
Рейтинг: 0 / 0
select 1 where 3 not in ( null , 1, 2 )
    #32040916
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, так и должно. Видимо это разбивается на

where not ( (3=null) or (3=1) or (3=2) )

упрощаем:

where not (null or false or false)
where not (null)

А not null это далеко не true . :)
...
Рейтинг: 0 / 0
select 1 where 3 not in ( null , 1, 2 )
    #32040921
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select 1 where 3 not in (1, 2 ) and 3 is not null

А 3 это что, название поля?
...
Рейтинг: 0 / 0
select 1 where 3 not in ( null , 1, 2 )
    #32040923
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результатом сравнения 3=null есть UNKNOWN.
Поэтому (3=null) или not(3=null) ничего не меняет и результатом будет UNKNOWN
Для сравнения с null надо использовать IS. Типа 3 is null.
...
Рейтинг: 0 / 0
select 1 where 3 not in ( null , 1, 2 )
    #32040924
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если это объяснить серверу чтобы он правильно IN с нуллами обрабатывал, будет совсем здорово. :)
...
Рейтинг: 0 / 0
select 1 where 3 not in ( null , 1, 2 )
    #32040925
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для того, чтобы объяснить серверу как правильно IN с null обрабатывать - неплохо понять, что надо получить в результате.
...
Рейтинг: 0 / 0
select 1 where 3 not in ( null , 1, 2 )
    #32040945
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
SET ANSI_NULLS  OFF
select  1  where  3  not in ( null ,  1 ,  2  )
SET ANSI_NULLS  ON
select  1  where  3  not in ( null ,  1 ,  2  )
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select 1 where 3 not in ( null , 1, 2 )
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]