Google Bigquery Legacy SQL - 如何将周数设置为星期一?

Google Bigquery Legacy SQL - How to set week number start to Monday?

我听说旧版 sql 中的 UTC_USEC_TO_WEEK() 函数允许您将开始周设置为星期一(而不是默认的星期日)。基本上,我希望将以下日期查询为 return 1 而不是 2.

select week('2018-01-07') -- returns 2

我已经了解如何在标准 sql 中执行此操作,但我正在查询旧版 sql 视图,因此我无法切换到标准 sql.

如何使用 UTC_USEC_TO_WEEK 将星期一作为一周的开始?

文档帮助不大,在网上​​找不到任何内容。 对此的任何帮助将不胜感激!

只需使用 DATE_ADD() 后退一天,然后应用 WEEK()

#legacySQL
SELECT WEEK(DATE_ADD('2018-01-07', -1, "DAY"))

基本上是在寻找这个 week(utc_usec_to_week(current_date(),1)) - 1,所以这将 return 前一周,星期一作为一周的开始。