Ниже для BigQuery Standard SQL
#standardSQL
SELECT <columns>
FROM `project.dataset.table`
WHERE PARSE_DATE('%Y%m%d', FORMAT('%i', bill_date))
BETWEEN DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 2 YEAR)
AND DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY)
Вы можете выполнить рефакторинг выше, если хотите, чтобы он был менее подробным
#standardSQL
SELECT <columns>
FROM `project.dataset.table`,
UNNEST([DATE_TRUNC(CURRENT_DATE(), MONTH)]) month_start
WHERE PARSE_DATE('%Y%m%d', FORMAT('%i', bill_date))
BETWEEN DATE_SUB(month_start, INTERVAL 2 YEAR)
AND DATE_SUB(month_start, INTERVAL 1 DAY)