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

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

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
05.08.2002, 15:21:00
    #32040921
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select 1 where 3 not in ( null , 1, 2 )
select 1 where 3 not in (1, 2 ) and 3 is not null

А 3 это что, название поля?
...
Рейтинг: 0 / 0
05.08.2002, 15:25:30
    #32040923
AISOFT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select 1 where 3 not in ( null , 1, 2 )
Результатом сравнения 3=null есть UNKNOWN.
Поэтому (3=null) или not(3=null) ничего не меняет и результатом будет UNKNOWN
Для сравнения с null надо использовать IS. Типа 3 is null.
...
Рейтинг: 0 / 0
05.08.2002, 15:27:59
    #32040924
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select 1 where 3 not in ( null , 1, 2 )
А если это объяснить серверу чтобы он правильно IN с нуллами обрабатывал, будет совсем здорово. :)
...
Рейтинг: 0 / 0
05.08.2002, 15:33:03
    #32040925
AISOFT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select 1 where 3 not in ( null , 1, 2 )
Для того, чтобы объяснить серверу как правильно IN с null обрабатывать - неплохо понять, что надо получить в результате.
...
Рейтинг: 0 / 0
05.08.2002, 16:49:27
    #32040945
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select 1 where 3 not in ( null , 1, 2 )
Код: 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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select 1 where 3 not in ( null , 1, 2 ) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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