読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

case when

Oracle
CASE 式(というか列) 
  WHEN 条件1 THEN 値1
  WHEN 条件2 THEN 値2
  ・
  ・
  ・
  WHEN 条件n THEN 値n
  ELSE デフォルト値
END

ORACLE/オラクルSQLリファレンス(CASE WHEN/DECODE)

下記のような感じで、列の値を変換する。

select lastname,
  case sex 
   when '1' then '男'
   when '2' then '女'
   else '不明'
  end
  from employees

echoとchcsvを組み合わせつつ、SQL文を改行しているときは、nオプションをつけないと

ORA-00932: データ型が一致しません: NUMBERが予想されましたがCHARです。

などというエラーが出る。

ORA-01722 - オラクル・Oracle エラー FAQ