2

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

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

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

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

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

4

2 回答 2

0

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

于 2018-03-27T11:14:15.757 回答
0

只需搬回一天DATE_ADD(),然后申请WEEK()

#legacySQL
SELECT WEEK(DATE_ADD('2018-01-07', -1, "DAY"))
于 2018-02-17T12:30:34.997 回答