Oracle メモ

最近 Oracle を使うようになりました。というか、ちゃんと SQL を書き始めたのが最近なので、忘れないようにいろいろメモ。

ラクルは空文字は null になる

ADD_MONTHS

  • ADD_MONTHS(<基準となる日付>, <加算する月数>)
    • 日付を加算する
    • 加算する月数をマイナスにすると、前の月が取得できる
    • ADD_YEARS みたいなのはないみたい
# 3ヵ月前と比較
AND TO_CHAR(UPD_DATE, 'YYYYMM') < TO_CHAR(ADD_MONTHS(SYSDATE, -3), 'YYYYMM')

CONCAT

  • CONCAT(文字列1, 文字列2)
  • セルのデータを結合できる
## TIME と TIME_CLASS がくっついて表示
SELECT CONCAT(TIME, TIME_CLASS) AS TIME FROM TIME_TABLE

START WITH

CASE

  • switch 文みたいなことができる。詳細はここ → CASE式のススメ
  • CASE 式の評価は、真になる WHEN 句が見つかった時点で打ち切られて、残りの WHEN 句は無視される