MySQL: CASE式
SQLのCASE式の構文をいつも忘れてしまうので、
構文について再確認してみた。
目次
構文1
CASE value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list] END CASE
例) ユーザー定義変数の使用
set @num = 3; select case @num when 1 then 'A' when 2 then 'B' when 3 then 'C' else '-' end as value
例) テーブルのselectでの使用
select case num when 1 then 'A' when 2 then 'B' when 3 then 'C' else '-' end as value from table
構文2
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE
例) ユーザー定義変数の使用
set @num = 3; select case when @num = 1 then 'A' when @num = 2 then 'B' when @num >= 3 then 'C' else '-' end as value
例) テーブルのselectでの利用
select case when num = 1 then 'A' when num = 2 then 'B' when num >= 3 then 'C' else '-' end as value from table