【问题标题】:Google Bigquery Legacy SQL - How to set week number start to Monday?Google Bigquery Legacy SQL - 如何将周数设置为星期一?
【发布时间】:2023-03-09 22:04:01
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: google-bigquery legacy-sql


    【解决方案1】:

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

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

    【讨论】:

    • 我应该提到我也在按周进行汇总和分组(但理想情况下,这应该作为一个单独的问题提出)。总而言之,您已经回答了我发布的问题!为此,我感谢@Mikhail Berlyant!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 2019-10-08
      • 1970-01-01
      • 2020-01-18
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多