Oracle メモ
最近 Oracle を使うようになりました。というか、ちゃんと SQL を書き始めたのが最近なので、忘れないようにいろいろメモ。
オラクルは空文字は null になる
- 最初知らなくて困った。Oracle SQL 特殊な値NULL 入門その1
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
- 階層問い合わせ ができるみたい。詳細はここ → Oracleの階層問い合わせ(1)
CASE
- switch 文みたいなことができる。詳細はここ → CASE式のススメ
- CASE 式の評価は、真になる WHEN 句が見つかった時点で打ち切られて、残りの WHEN 句は無視される