Функция nullif

  • Часть 1
  • | 2

Функция NULLIF производит при выборке замену заданного значения на NULL. Синтаксис использования имеет следующий вид:

NULLIF (<выражение1>, <выражение2>), где <выражение1> - столбец или вычисляемое выражение;

<выражение2> - вычисляемое выражение (может включать константы, имена столбцов, функции, а также арифметические операции и операцию конкатенации), со значением которого сравнивается значение <выражение1>.

Функция NULLIF возвращает NULL, если значение <выражение1> совпадает со значением <выражение2>, и значение <выражение1> в противном случае.

Использование функции NULLIFаналогично использованию следующей конструкции операции CASE:

CASEWHEN <выражение1> = <выражение2> THEN NULL ELSE <выражение1>

END.

Пусть, например, требуется вывести номера лицевых счетов, ФИО абонентов и их номера телефонов, учитывая, что номер телефона '556893' уже не существует, а новый номер неизвестен. Запрос будет выглядеть следующим образом:

SELECT AccountCD, Fio, NULLIF (Phone,'556893')

FROM Abonent;. Результат выполнения запроса представлен на рис. 3.44.

ACCOUNTCD

FIO

CASE

005488

АКСЕНОВ С.А.

<null>

115705

МИЩЕНКО Е.В.

769975

015527

КОНЮХОВ В.С.

761699

443690

ТУЛУПОВА М.И.

214833

136159

СВИРИНА З.А.

350003

443069

СТАРОДУБЦЕВ Е.В.

683014

136160

ШМАКОВ С.В.

982222

126112

МАРКОВА В.П.

683301

136169

ДЕНИСОВА Е.К.

680305

080613

ЛУКАШИНА Р.М.

254417

080047

ШУБИНА Т.П.

257842

080270

ТИМОШКИНА Н.Г.

321002

Рис. 3.44. Результат выполнения запроса при использовании NULLIF

предыдущаяследующая