【问题标题】:No matching signature for function TIMESTAMP_DIFF.... error on BigQuery函数 TIMESTAMP_DIFF 没有匹配的签名...... BigQuery 上的错误
【发布时间】:2019-11-22 01:07:02
【问题描述】:

我正在尝试获取表中两个日期字段之间的时间戳差异。我知道这两个日期都是 TIMESTAMP 格式,但是当我尝试使用 TIMESTAMP_DIFF 函数时,我收到一条错误消息:“参数类型的函数 TIMESTAMP_DIFF 没有匹配签名:STRING、STRING、DATE_TIME_PART。支持的签名:TIMESTAMP_DIFF(TIMESTAMP, TIMESTAMP, DATE_TIME_PART) [27:8]"

我还尝试在查询中再次格式化它们(如 FIRST_VALUE(): https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#datetime_diff 的示例中所做的那样,然后它显示了相同的错误,但 FORMAT_TIMESTAMP 。

有什么想法可以解决此问题或获取每行两个字段之间的时间差吗?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    在下面使用(BigQuery 标准 SQL)

    #standardSQL
    SELECT TIMESTAMP_DIFF(PARSE_TIMESTAMP('%Y-%m-%d %H:%M:%S', prev_time), PARSE_TIMESTAMP('%Y-%m-%d %H:%M:%S', event_datetime), MINUTE)
    FROM `project.dataset.messages`
    

    【讨论】:

    • 很高兴它对你有用。考虑投票给答案 - 这在 SO 上同样重要
    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2019-09-20
    • 2012-12-28
    • 2015-03-31
    • 1970-01-01
    相关资源
    最近更新 更多