【问题标题】:What is the correct way to use DATE_TRUNC in BigQuery?在 BigQuery 中使用 DATE_TRUNC 的正确方法是什么?
【发布时间】:2017-01-20 19:19:57
【问题描述】:

我想根据当前日期获取一年中的第一天。以下查询有效。

#standardSQL
SELECT DATE_TRUNC(DATE '2017-01-20', YEAR) as First_day_of_year

但是,使用 CURRENT_DATE() 代替日期值时出现语法错误。

#standardSQL
SELECT DATE_TRUNC(DATE CURRENT_DATE(), YEAR) as YEAR

错误:语法错误:应为“)”但得到标识符“CURRENT_DATE”

我该如何纠正这个问题?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    CURRENT_DATE() 已经是 DATE 类型所以你应该使用如下

    #standardSQL
    SELECT DATE_TRUNC(CURRENT_DATE(), YEAR) as YEAR
    

    【讨论】:

    • 哦.. Date 关键字实际上是在投射它。感谢您的快速帮助。
    • @Mikhail Berlyant 你碰巧知道 YEAR 是什么数据类型吗?是否可以将其定义为变量,例如声明一个???; SET a = 年;
    • @riscarrott - 随时发布您的问题,我们将很乐意回答:o)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2018-12-20
    • 2021-08-14
    • 2021-05-31
    • 2018-04-28
    • 2011-12-11
    • 1970-01-01
    相关资源
    最近更新 更多