谷歌 bigquery 日期操作
Posted
技术标签:
【中文标题】谷歌 bigquery 日期操作【英文标题】:Google bigquery date manipulation 【发布时间】:2018-05-04 02:43:48 【问题描述】:我正在尝试在 google bigquery 中运行一个查询,在该查询中我从某个时间减去小时。出于某种原因,我收到错误“DATE_SUB 不支持 HOUR 日期部分”,代码行如下:(嵌入在更大的 sql 语句中)
DATE_SUB(t2.time, INTERVAL -1 HOUR)
我也尝试过这样的 DATE_ADD:
DATE_ADD(t2.click_time, -1, 'hour')
但我收到错误“预期的 INTERVAL 表达式在 ...”
有人对如何解决这个问题有任何建议吗?
我使用的是标准 SQL(未选中使用旧版 sql)。
谢谢!
【问题讨论】:
【参考方案1】:你应该改用DATETIME_SUB()
#standardSQL
SELECT
CURRENT_DATETIME(),
DATETIME_SUB(CURRENT_DATETIME(), INTERVAL 1 HOUR)
如果您将字段设置为 TIMESTAMP - 使用 TIMESTAMP_SUB()
#standardSQL
SELECT
CURRENT_TIMESTAMP(),
TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
【讨论】:
感谢您的评论!出于某种原因,我在表中的时间列属于“TIMESTAMP”类型,但对于该查询,它需要属于“DATETIME”类型。我试过 CAST(t2.time AS DATETIME) 但它似乎不起作用。我做错了吗? 谢谢!这很有帮助以上是关于谷歌 bigquery 日期操作的主要内容,如果未能解决你的问题,请参考以下文章