Проверка на равенство двух значений
Функция
Проверка на равенство двух значений.
Спецификация
< синтаксис >
::=
NULLIF(выражение1, выражение2)
Общие правила
-
Функция создана для совместимости с СУБД ORACLE.
-
Функция возвращает NULL-значение, если значения её аргументов совпадают, и
< выражение1 >
– в противном случае. Эквивалентна конструкции СУБД ЛИНТЕР:CASE WHEN < выражение1 > = < выражение2 > THEN NULL ELSE < выражение1 > END
-
Типы данных
< выражения1 >
,< выражения2 >
должны быть идентичны или приводимыми. При приведении типов данных по умолчанию (без конструкции CAST…) второй аргумент приводится к типу данных первого аргумента. -
Аргументы могут быть заданы
< SQL-параметром >
, который должен содержать спецификацию типа данных параметра.select nullif(? (int)+ ? (bigint), ? (double)); 45 57650000 -0.756 | 57650045| select nullif(? (real), ? (real)); 0.00000000000000000000000000000000000000000000001 0.0000000000000000000000000000000000000000000000099 | |
Пример
select nullif(5,5), nullif(5, 4.99999); |NULL| 5|