Проверка на равенство двух значений (NULLIF)

Функция

Проверка на равенство двух значений.

Спецификация
 
<​синтаксис​>::=
Общие правила
  1. Функция создана для совместимости с СУБД ORACLE.

  2. Функция возвращает NULL-значение, если значения её аргументов совпадают, и <​выражение1​> – в противном случае. Эквивалентна конструкции СУБД ЛИНТЕР:

    CASE WHEN <​выражение1​> = <​выражение2​>
    THEN NULL ELSE <​выражение1​> END
  3. Типы данных <​выражения1​>, <​выражения2​> должны быть идентичны или приводимыми. При приведении типов данных по умолчанию (без конструкции CAST…) второй аргумент приводится к типу данных первого аргумента.

  4. Аргументы могут быть заданы <​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|