powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / IS NOT DISTINCT FROM
14 сообщений из 14, страница 1 из 1
IS NOT DISTINCT FROM
    #36992884
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда-то уже писал, что хотел бы иметь в SQL оператор сравнения: A~B
эквивалентный
Код: plaintext
1.
2.
3.
4.
(case 
 when A=B then  1 
 when A is null and B is null then  1 
 else  0 
end) =  1 
и вот копавшись в Firebird нашел, что там этот велосипед уже изобретен:
Код: plaintext
A is not distinct from B

а в других СУБД есть такое?

С уважением, Naf
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #36993287
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в postgres есть
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #36993301
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в MySQL есть .
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37013800
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю для MSSQL>=2005:
Код: plaintext
WHERE EXISTS(SELECT A INTERSECT SELECT B)
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37013836
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafа в других СУБД есть такое?
В Cache есть такая конструкция

Код: plaintext
NULLIF(B,A)

Вернёт А если В=NULL и В в противном случае...

Код: plaintext
A=NULLIF(B,A)

Будет то, что ты искал...
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37013844
isnull(a,0) =isnull(b,0)
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37013863
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rимш564мшф6шфмшisnull(a,0) =isnull(b,0)Не катит. Для 0 и NULL даст ложноположительный ответ.
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37014386
rstudio2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftrимш564мшф6шфмшisnull(a,0) =isnull(b,0)Не катит. Для 0 и NULL даст ложноположительный ответ.

Все катит. Я подразумеваю что А и В это айдишники. В принципе ноль можно заменить любым неиспользуемым значением
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37014394
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio2miksoftпропущено...
Не катит. Для 0 и NULL даст ложноположительный ответ.Все катит. Я подразумеваю что А и В это айдишники. В принципе ноль можно заменить любым неиспользуемым значениемВо-первых, в изначальных условиях этого не было, это вы сами придумали.
А во-вторых, если уж подразумевать, что это айдишники, то они обычно NOT NULL и вся затея для них имеет мало смысла.
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37014401
из бани
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaNafа в других СУБД есть такое?
В Cache есть такая конструкция

Код: plaintext
NULLIF(B,A)

Вернёт А если В=NULL и В в противном случае...

Код: plaintext
A=NULLIF(B,A)

Будет то, что ты искал...

я всегда удивлялся, как люди могут генерить нечитаемый неочевидный код с багом на строчке в несколько байт, и при этом он еще не работает по основному условию. А нулл, Б нулл
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37015343
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из баниА нулл, Б нулл
Учту...

Код: plaintext
NULLIF(A,B)=NULLIF(B,A)
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37015349
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя и это не подойдёт... Ведь требуется именно равенство А и В...
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37015391
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftrимш564мшф6шфмшisnull(a,0) =isnull(b,0)Не катит. Для 0 и NULL даст ложноположительный ответ.
Если вместо нуля использовать значение которое никогда не примут А и В - может подойти как некий вариант...
...
Рейтинг: 0 / 0
IS NOT DISTINCT FROM
    #37016426
A V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
A V
Гость
для oracle
Код: plaintext
DECODE(A,B, 1 , 0 )
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / IS NOT DISTINCT FROM
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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