CASE
関数は、SQLでデータの条件分岐を行うために使用される制御構文の1つです。CASE
関数は、条件に応じて異なる値を返すことができます。
次のような構文を持ちます。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
ここで、condition1
、condition2
、…、conditionN
は条件式で、result1
、result2
、…、resultN
は、対応する条件式が真である場合に返される結果値です。ELSE
句を使用することで、すべての条件式が偽である場合に返されるデフォルト値を指定することができます。
以下は、CASE
関数を使用した例です。
SELECT
ProductName,
UnitsInStock,
CASE
WHEN UnitsInStock < 10 THEN 'Low stock'
WHEN UnitsInStock >= 10 AND UnitsInStock <= 20 THEN 'Medium stock'
ELSE 'High stock'
END AS StockStatus
FROM
Products;
この例では、Products
テーブルから、ProductName
とUnitsInStock
列を取得します。CASE
関数を使用して、UnitsInStock
の値に応じて、Low stock
、Medium stock
、High stock
のいずれかを返すStockStatus
列を作成します。
参考
MySQL :: MySQL 8.0 Reference Manual :: 15.6.5.1 CASE Statement
コメント