PostgreSQLのCASE文の使い方は何ですか?
PostgreSQLでのCASE式は、SELECT文で条件に基づいて異なる値を返すために使用されます。その構文は以下の通りです。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
condition1やcondition2などは条件式であり、result1やresult2などはそれぞれの条件が満たされたときに返される値であり、default_resultはすべての条件が満たされない場合に返されるデフォルト値です。
例えば、以下の例は、CASE式の単純な使用法を示しています:
SELECT
name,
CASE
WHEN age < 18 THEN 'Child'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM users;
この例では、ユーザーの年齢に応じて異なる年齢層を返します。 18歳未満の場合は「子供」、18歳から65歳の場合は「大人」、それ以外の場合は「シニア」を返します。