MySQLCASE関数_
例
条件を確認し、最初の条件が満たされたときに値を返します。
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30
THEN "The quantity is greater than 30"
WHEN Quantity =
30 THEN "The quantity is 30"
ELSE "The quantity is
under 30"
END
FROM OrderDetails;
定義と使用法
CASEステートメントは条件を通過し、最初の条件が満たされたときに値を返します(IF-THEN-ELSEステートメントのように)。したがって、条件が真になると、読み取りを停止して結果を返します。
真の条件がない場合は、ELSE句の値を返します。
ELSE部分がなく、条件が真でない場合は、NULLを返します。
構文
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
パラメータ値
Parameter | Description |
---|---|
condition1, condition2, ...conditionN | Required. The conditions. These are evaluated in the same order as they are listed |
result1, result2, ...resultN | Required. The value to return once a condition is true |
技術的な詳細
で動作します: | MySQL4.0から |
---|
その他の例
次のSQLは、市ごとに顧客を注文します。ただし、CityがNULLの場合は、国別に並べ替えます。
例
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);