Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE 15.0.02. null и select null / 2 сообщений из 2, страница 1 из 1
16.04.2009, 13:33
    #35936005
MAXHATbIu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 15.0.02. null и select null
Добрый день. Есть таблица channel в ней около 300 записей (ASE 15.0.2)
Есть 2 запроса:

Код: plaintext
select * from channel where channel_id not in (null)
и
Код: plaintext
select * from channel where channel_id not in (select null)

Первый выводит всю таблицу, второй не выводит ничего.


Ради эксперимента подсунул те же самые запросы MS SQL 2005. В обоих случаях не вывело ничего.

Кто-нибудь может объяснить логику поведения ASE в этом случае?
...
Рейтинг: 0 / 0
12.05.2009, 10:06
    #35979735
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 15.0.02. null и select null
Код: plaintext
select * from channel where channel_id not in (null)

set ansiNull on - и разницы в результате обеих запросов не будет

при ansiNull off (по умолчанию) сравнивание к примеру 2-х переменных в которых на момент проверки может содержатся null, можно делать обычным способом ("@a=@b" а не ( "@a=@b or ( @a is null and @b is null )" и результатом проверки будет определеное значение, но так только с переменными а не наборами данных. Уверен что в процитированном запросе null воспринимается сервером также как и обычная переменная
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE 15.0.02. null и select null / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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