首页 > 解决方案 > 谷歌 bigquery 日期操作

问题描述

我正在尝试在 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)。

谢谢!

标签: google-bigquery

解决方案


你应该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)      

推荐阅读