【问题标题】:What is the equivalent of 'yearweek' function in BigQuery standard SQL?BigQuery 标准 SQL 中的“yearweek”函数的等价物是什么?
【发布时间】:2019-03-11 14:46:39
【问题描述】:

我需要准确提取表中不同日期的“yearweek”,但在 BigQuery(标准 SQL / Legacy SQL)中找不到“yearweek”的任何匹配项。

谢谢

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

    对于字符串形式的结果,将'%Y%W' 与“格式”一起使用。例如:

    select format_date('%Y%W', current_date)
    

    【讨论】:

    • 谢谢!这只是激发了我写查询的灵感:)
    • @helloworld 查看format elements table 获取有关这些和其他格式说明符的文档。
    【解决方案2】:

    标准 SQL:

       select 
       concat(EXTRACT(ISOYEAR FROM current_date), EXTRACT(ISOWEEK FROM current_date))
    

    【讨论】:

      【解决方案3】:

      我建议如下:

      select format_date('%G-%V', your_date)
      

      这遵循 ISO-8601 标准,即可以跨越年份的周数编号。此 ISO 标准在 Bigquery 中实现,%G 是年份,%V 是星期。

      @ornachshon 的答案是正确的(如果你从我的代码中去掉破折号,你会得到等效的输出),但有点令人费解。 @gordon-linoff 的答案是不正确的,因为它将在年初/年底分开几周。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-16
        • 2014-11-22
        • 2022-06-12
        • 1970-01-01
        • 2012-04-07
        • 2022-08-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多