在Bigquery的旧版 SQL中,我可以使用
SELECT DATE((UTC_USEC_TO_WEEK(TIMESTAMP_TO_USEC(TIMESTAMP('2017-04-13 20:58:06 UTC')), 0)))
返回
2017-04-09
。BigQuery的标准 SQL中有没有办法做到这一点?
UTC_USEC_TO_WEEK
和UTC_USEC_TO_MONTH
似乎没有任何等效形式。
最佳答案
看起来BigQuery有一个名为TIMESTAMP_TRUNC的函数,可以执行您想要的操作。当与Day日期部分一起使用时,在LegacySQL中被引用为UTC_USEC_TO_DAY(t)的替代。它还接受“周”和“月”作为可能满足您要求的参数。
TIMESTAMP_TRUNC(TIMESTAMP '2008-12-25 15:30:00', WEEK, 'UTC')
这是migrating from Legacy to Standard sql的页面
关于google-bigquery - Bigquery : Getting first day of the week/month in standard SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43393867/