【问题标题】:BigQuery: cast integer column as date interval and add to date columnBigQuery:将整数列转换为日期间隔并添加到日期列
【发布时间】:2017-03-31 23:43:05
【问题描述】:

使用 Google BigQuery 标准 SQL,我有一个日期列和另一个数字列。我想将数字列转换为间隔(比如日期或年份),然后将其添加到另一个日期列。所以...

ColA,ColB

'2015-01-01',2

将用作:date_add(ColA interval colB years) -> '2017-01-01'

我正在尝试将我的日期列 ColA 转换为相当于 2017 年的日期。这是正确的做法,还是有更直接的功能/操作?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    下面试试

    #standardSQL
    WITH yourTable AS (
      SELECT '2015-01-01' AS colA, 2 AS colB
    )
    SELECT DATE_ADD(CAST(colA AS DATE), INTERVAL colB YEAR) AS new_dt
    FROM yourTable
    

    输出是

    new_dt   
    ----------
    2017-01-01  
    

    【讨论】:

    • 这帮助我解决了我现在正在解决的问题。感谢您用您的知识为这个社区做出贡献。赞成你回答
    • 谢谢@Arsik36 - 很高兴看到我的旧答案仍然有用:o)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 2015-06-17
    • 2020-10-05
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2017-05-14
    相关资源
    最近更新 更多