中野智文のブログ

データ・マエショリストのメモ

bigquery で日本語の曜日のJOIN用テーブルを作成する

背景

毎度日本語で曜日を表示するためのJOIN用テーブルを作成に時間がかかるので、 コピペ用のコードが欲しい。 (JOIN用テーブルでなくifで作ったほうががテンプレートしては使いやすいかも。)

そのクエリ

#standardSQL

WITH
  _weekday_list AS (
  SELECT
    SPLIT('日,月,火,水,木,金,土', ',') AS a),
  weekday_list AS (
  SELECT
    w,
    ja
  FROM
    _weekday_list,
    UNNEST(a) AS ja
  WITH
  OFFSET
    AS w )

'2019-01-01' は何曜日か?

#standardSQL

WITH
  _weekday_list AS (
  SELECT
    SPLIT('日,月,火,水,木,金,土', ',') AS a),
  weekday_list AS (
  SELECT
    w,
    ja
  FROM
    _weekday_list,
    UNNEST(a) AS ja
  WITH
  OFFSET
    AS w )

SELECT
   ja
FROM
  (SELECT
    cast(format_date('%w', '2019-01-01') as int64) w
  ) data
JOIN
  weekday_list using(w)

参考

sucrose.hatenablog.com