Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Троичная логика / 4 сообщений из 4, страница 1 из 1
21.11.2002, 16:19:38
    #32070883
xenon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Троичная логика
Подскажите оптимальное решение.
В базе стоит ANSI_NULLS = ON, следовательно выражение
NULL = NULL возвращает NULL вместо true
Мне нужно связать таблицы по условию:
WHERE ... AND T1.Field1 = T2.Field2
при этом выражение T1.Field1 = T2.Field2 должно быть true для T1.Field1 = NULL и T1.Field2 = NULL
Чтобы этого добиться, написал
ISNULL(T1.Field1,0) = ISNULL(T2.Field2, 0)
Что-то мне подсказывает, что можно это сделать короче.
Подскажите как?
...
Рейтинг: 0 / 0
21.11.2002, 16:21:17
    #32070886
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Троичная логика
Короче некуда.
...
Рейтинг: 0 / 0
21.11.2002, 16:23:18
    #32070888
xenon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Троичная логика
Понял. Извините, что отнял время.
Думал, может есть ф-ция
F(NULL, NULL) = true
...
Рейтинг: 0 / 0
21.11.2002, 16:26:40
    #32070891
MakLena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Троичная логика
Вместо =NULL или !=NULL
лучше использовать is NULL или is not NULL

T1.Field1 is NULL
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Троичная логика / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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