Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / IS NOT DISTINCT FROM / 14 сообщений из 14, страница 1 из 1
03.12.2010, 11:40
    #36992884
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IS NOT DISTINCT FROM
Когда-то уже писал, что хотел бы иметь в 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
03.12.2010, 13:26
    #36993287
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IS NOT DISTINCT FROM
в postgres есть
...
Рейтинг: 0 / 0
03.12.2010, 13:31
    #36993301
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IS NOT DISTINCT FROM
в MySQL есть .
...
Рейтинг: 0 / 0
14.12.2010, 15:48
    #37013800
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IS NOT DISTINCT FROM
Предлагаю для MSSQL>=2005:
Код: plaintext
WHERE EXISTS(SELECT A INTERSECT SELECT B)
...
Рейтинг: 0 / 0
14.12.2010, 15:57
    #37013836
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IS NOT DISTINCT FROM
Nafа в других СУБД есть такое?
В Cache есть такая конструкция

Код: plaintext
NULLIF(B,A)

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

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

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

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

Код: plaintext
NULLIF(B,A)

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

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

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

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

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


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