1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
Control Flow Functions
======================
There are four control flow functions:
* CASE
* IF/ELSE
* IFNULL
* NULLIF
Control flow functions return a value for each row processed, which represents the result of the comparison or condition specified. They can be used in ``SELECT``, ``WHERE``, ``ORDER BY``, and ``GROUP BY`` statements.
There are two basic examples of the ``CASE`` statment:
1. ::
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
In this version, result is returned when value is equal to compare_value. If nothing is matched, the result after ``ELSE`` is returned, or ``NULL`` is returned if there is no ``ELSE`` part.
2. ::
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
In this version, if [condition] is true, result is returned. If nothing is matched, the result after ``ELSE`` is returned, or ``NULL`` is returned if there is no ``ELSE`` part.
When [condition] is for equal comparison (=), this example syntax returns the same result as the first example.
|