BigQueryのオリジナルUDF一覧

概要

BigQueryで作成したUDFを公開する。

日付関数

LAST_SPECIFIED_DAY

CREATE FUNCTION {DATASET}.LAST_SPECIFIED_DAY(end_date DATE, specified_day INT64)
RETURNS DATE
AS (
  (
    SELECT
      MAX(z)
    FROM UNNEST(GENERATE_DATE_ARRAY('1970-01-01', end_date)) z
    WHERE EXTRACT(DAY FROM z) = specified_day
  )
);

LAST_SPECIFIED_DAY(end_date DATE, specified_day INT64)

説明

LAST_SPECIFIED_DAYは1970-01-01以降、指定した終了日(end_date)以前の期間で日付が指定した日付(specified_day)になる最新日を返します。
指定日付が存在しないような日付の場合nullを返します。

終了日=2022-09-02、指定日付=20の場合、2022-08-20を返します。

SELECT
  {DATASET}.LAST_SPECIFIED_DAY('2022-09-02', 20) as last_specified_day

+----------------------+
| last_specified_day   |
+----------------------+
| 2022-08-20           |
+----------------------+



この記事が気に入ったらサポートをしてみませんか?