bigquery

BigQueryで当月最終日を取り出す

BigQueryのtimestamp型の値から、その日付が属する月の日数を取り出す方法を考えてみました。レガシーではない方のSQLを使っています。

SELECT EXTRACT(
  DAY FROM DATE_SUB(
    DATE_ADD(
      DATE_TRUNC(DATE(TIMESTAMP "2000-02-01 01:23:45"), MONTH),
      INTERVAL 1 MONTH
    ),
    INTERVAL 1 DAY
  )
)

どうにも冗長っぽいのですが、これより短くできませんでした。

参考URL