BigQuery 前月末までの日付のデータを取得する方法。

【前月末までの日付で取得する】
抽出時点5月11日

--sample data
with test as (
SELECT d 
FROM 
UNNEST(GENERATE_DATE_ARRAY('2022-01-01','2022-05-31', INTERVAL 1 DAY)) AS d)

--前月末までのデータを出力

SELECT 
*
FROM 
test
where d <= date(FORMAT_DATE("%F",DATE_SUB(DATE_TRUNC(CURRENT_DATE('Asia/Tokyo'), MONTH), INTERVAL 1 DAY)))


【前月末から当月末までの期間で抽出。】

--sample data
with test as (
SELECT date
FROM 
UNNEST(GENERATE_DATE_ARRAY('2022-01-01','2022-05-31', INTERVAL 1 DAY)) AS date)

--前月末までのデータを出力

SELECT 
date
FROM 
test
where 
  date between  DATE_SUB(DATE_TRUNC(CURRENT_DATE('Asia/Tokyo'),month),interval 2 month) 
and date(FORMAT_DATE("%F",DATE_SUB(DATE_TRUNC(CURRENT_DATE('Asia/Tokyo'), MONTH), INTERVAL 1 DAY)))