PostgreSQL case文で結果に条件を設定する

PostgreSQL case文で結果に条件を設定する

PostgreSQLで、case文を使用する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • PostgreSQL 14.0
  • pgadmin 6.0

case文を使用

結果に条件を設定したい場合は、「case」を使用します。

SELECT
  CASE
      WHEN 条件1 THEN 表示する値
      WHEN 条件2 THEN 表示する値
      ELSE 条件を満たしていない場合、表示する値
  END
FROM テーブル名

実際に、以下のテーブルに条件を指定してみます。

名前により、表示する値を変更してみます。

select 
	name,
	CASE
		WHEN name = 'sato' THEN 'a'
		WHEN name = 'suzuki' THEN 'b'
		ELSE 'c'
	END
from testTable

実行結果

条件により表示される値が変更されていることが確認できます。

「or」や「and」も使用できます。

select 
	name,
	CASE
		WHEN name = 'sato' or name = 'suzuki' THEN 'a'
		WHEN name = 'tanaka' and id = 3 THEN 'b'
	END
from testTable

実行結果