函数 TIMESTAMP_DIFF 没有匹配的签名...... BigQuery 上的错误
Posted
技术标签:
【中文标题】函数 TIMESTAMP_DIFF 没有匹配的签名...... BigQuery 上的错误【英文标题】:No matching signature for function TIMESTAMP_DIFF.... error on 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 。
有什么想法可以解决此问题或获取每行两个字段之间的时间差吗?
【问题讨论】:
【参考方案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 上同样重要以上是关于函数 TIMESTAMP_DIFF 没有匹配的签名...... BigQuery 上的错误的主要内容,如果未能解决你的问题,请参考以下文章
如何检查检查PInvoke签名的调用约定和参数与非托管的目标签名是不是匹配?