А.4 Логические функции

Логические функции представлены в таблице ниже (Таблица «Логические функции»).

Таблица 7. Логические функции

Функция Синтаксис Пример
1 CASE
CASE expression
 WHEN value_1
 THEN result_1
 [ WHEN value_2 THEN result_2
. ]
 ELSE default_result
END 

                                              

Сравнивает выражение expression с последовательностью значений value_1, value_2 и возвращает результат для первого совпадения.

Если совпадений не найдено, то возвращает default_result

CASE [city]
 WHEN 'Detroit' THEN'D'
 WHEN 'London' THEN 'L'
 WHEN 'Moscow' THEN 'M'
 ELSE 'n'
END 

                                              

2 IF
IF condition_1
 THEN result_1
[ ELSEIF condition_2
 THEN result_2
. ]
ELSE
 default_result
END 

                                              

Проверяет последовательно логические выражения condition_1, condition_2 и возвращает соответствующий результат для первого выполнения.

Если все condition _1, condition _2 возвращают FALSE , то блок возвращает default _ result

IF [city] = 'Detroit'
 THEN 'D'
ELSEIF [city] = 'London'
 THEN 'L'
ELSEIF [city] = 'Moscow'
 THEN 'M'
ELSE
 'n'
END 

                                              

3 IFNULL
IFNULL( check_value, alt_value )

                                              

Возвращает check_value, если оно не NULL. В противном случае возвращает alt_value

IFNULL(null, -100.0)

                                              

4 ISNULL
ISNULL( expression )

                                              

или как оператор

expression IS [ NOT ] NULL

                                              

Возвращает TRUE, если expression является NULL. В противном случае возвращает FALSE.

Вариант expression IS NOT NULL возвращает противоположное значение

ISNULL(null)

                                              

sum ([orders]) IS NULL

                                              

5 ZN
ZN( expression )

                                              

Возвращает значение выражения expression, если оно не NULL. В противном случае возвращает 0

ZN(null)