BigQuery 标准 SQL 中的“yearweek”函数的等价物是啥?
Posted
技术标签:
【中文标题】BigQuery 标准 SQL 中的“yearweek”函数的等价物是啥?【英文标题】: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”的任何匹配项。
谢谢
【问题讨论】:
【参考方案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 的答案是不正确的,因为它将在年初/年底分开几周。
【讨论】:
以上是关于BigQuery 标准 SQL 中的“yearweek”函数的等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery 标准 SQL 中的“yearweek”函数的等价物是啥?