IIF(<условие>, <выражение, если условие истинно>, <выражение, если условие не истинно>)
Функция возвращает результат вычисления выражения из второго аргумента, если условие есть TRUE; в противном случае возвращается результат вычисления выражения из третьего аргумента. Таким образом, функция
IIF(condition, expression_1, expression_2)
эквивалентна следующему выражению CASE:
CASEWHEN condition THEN expression_1 ELSE expression_2 END
С помощью функции IIF мы можем переписать решение первой задачи следующим образом:
Консоль
Выполнить
SELECTDISTINCT product.model,
IIF(price ISNULL, N'Нет в наличии',CAST(price AS CHAR(20))) price
В том случае, если вариантов ветвления больше двух, можно использовать вложенные функции IIF. Например, для решения задачи 5.10.1 можно использовать такой запрос: