google-bigquery - 谷歌 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)。
谢谢!
解决方案
你应该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)
推荐阅读
- haskell - 来自haskell列表的连续n元组
- javascript - xcode 中的 React-Native 自定义 npm 启动脚本
- visual-studio-code - 在 vscode 中更改线路引导频率
- python - 将 scipy.ndimage.zoom 函数应用于 mri 分割图像后的奇怪图像修改
- c - 为什么这会打印字符串的错误部分?
- python - 将文件导出到 csv 但它不会在 django 中显示文件
- javascript - 如何与 Angular 8 中的其他组件通信以添加总计
- javascript - 在 React/Redux 中的页面刷新时丢失本地存储
- swift - 完全关闭中间的视图控制器
- angular - 当父 div 具有 display none 属性时,角度 ngbtooltip 位置会受到影响