Проверка на равенство двух значений
Функция
Проверка на равенство двух значений.
Спецификация
<синтаксис>
::=
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|