@kyanny's blog

My thoughts, my life. Views/opinions are my own.

PostgreSQL: 定数を定義して SELECT 内で参照するテクニック

with を使う技があるらしい。初めて見たときはよくこんなこと思いつくなと感心した。

stackoverflow.com

with const as (
    select '55cd79f8-8394-40bd-b8fd-fc4aee390dd6' as id
)
select
  case
    when col1.id = const.id and col2 > 10 then 'x'
    when col1.id = const.id and col2 > 5 then 'y'
    when col1.id = const.id and col2 > 2 then 'z'
    else '-'
  end
from tbl