Перейти к содержимому
Последнее обновление

NULLIF

Описание​

Если два входных значения равны, возвращает NULL; в противном случае возвращает первое входное значение. Эта функция эквивалентна следующему выражению CASE WHEN:

CASE
WHEN <expr1> = <expr2> THEN NULL
ELSE <expr1>
END

Синтаксис​

NULLIF(<expr1>, <expr2>)

Параметры​

  • <expr1>: Первое входное значение для сравнения. Поддерживаемые типы перечислены ниже в примечаниях по использованию.
  • <expr2>: Второе значение для сравнения с первым входным значением. Поддерживаемые типы перечислены ниже в примечаниях по использованию.

Примечания по использованию​

Поддерживаемые типы параметров:

  1. Boolean
  2. Числовые типы (TinyInt, SmallInt, Int, BigInt, LargeInt, Float, Double, Decimal)
  3. Типы даты и времени (Date, DateTime, Time)
  4. Строковые типы (String, VARCHAR, CHAR)

Возвращаемое значение​

  • Если <expr1> равно <expr2>, возвращает NULL.
  • В противном случае возвращает значение <expr1>.

Примеры​

  1. Пример 1
    SELECT NULLIF(1, 1);
    +--------------+
    | NULLIF(1, 1) |
    +--------------+
    | NULL |
    +--------------+
  2. Пример 2
    SELECT NULLIF(1, 0);
    +--------------+
    | NULLIF(1, 0) |
    +--------------+
    | 1 |
    +--------------+