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歳の場合は「大人」、それ以外の場合は「シニア」を返します。

bannerAds