BigQuery上的功能TIMESTAMP_DIFF没有匹配的签名...错误

时间:2019-11-22 01:07:02

标签: google-bigquery

我正在尝试获取表中两个日期字段之间的时间戳差异。我知道两个日期都是TIMESTAMP格式,但是当我尝试使用TIMESTAMP_DIFF函数时,出现错误消息“对于参数类型:STRING,STRING,DATE_TIME_PART,函数TIMESTAMP_DIFF没有匹配的签名。支持的签名: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。

enter image description here

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

1 个答案:

答案 0 :(得分:0)

在下面使用(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`