質問: カラムAには日付の情報が入っているのですが、 NULL値で帰ってくる所もあるので NULL値を「値がありません」と表示させたいです。 また、日付はデータにあるものに1月プラスして表示を行いたいのですが、 NVL(add_months(TO_DATE(カラムA,'YYYY/MM/DD'),+1,'値がありません') as カラムA と書いてみたのですがエラーで表示できませんでした。 どうすればよいのでしょうか? ぐぐってもよく分からなかったのでお願いします・・・。
回答: ここまで込み入ってくるとCaseで分けたほうがいいですね。 ``` select case when A is NULL then '値がありません' else [日付部分] end from table ``` 日付部分は元のカラムAが文字列なのか日付データなのかによって表現が違うので、 ``` -- A が文字列の場合 to_char( add_months( to_date(A, 'YYYY/MM/DD'), 1), 'YYYY/MM/DD') -- Aが日付型の場合 to_char( add_months(A, 1), 'YYYY/MM/DD' ) ``` こんな感じっすかね。