sql - Postgres 错误:“HOUR”处或附近的语法错误
问题描述
我想将所有记录删除到 Postgress 表中,只留下最近 1 小时创建的记录。我试过这个:
DELETE FROM common.orders WHERE created_at < (NOW(), INTERVAL -1 HOUR);
但我得到错误:
[42601] ERROR: syntax error at or near "HOUR"
你知道我该如何解决这个问题吗?
解决方案
将减号移到INTERVAL
子句之外。另外,后面的逗号NOW()
也应该去掉,单位的值需要用单引号指定
DELETE FROM common.orders WHERE created_at < NOW() - INTERVAL '1 HOUR';
推荐阅读
- python-3.5 - 使用容量和时间窗口约束来解决提货和交付问题
- c# - 在 Visual Studio 2019“解决方案资源管理器”中看不到“参考”文件夹
- java - FileNotFoundException:无法打开类路径资源,因为它不存在
- android - 无需移动即可检测 Android 触摸事件
- azure-active-directory - 如何在 Azure AD 的纯云环境中设置电子邮件属性?
- google-api - 谷歌日历 APIKey 不再工作
- react-native - ShapeSource 中的多个 LineLayer 颜色不会改变
- python - 从列表中提取格式元素
- here-api - 我如何理解此处车队远程信息处理 API 的经纬度编码?(例如层。ROAD_GEOM_FC5)
- python - 使用 Python 将嵌套的 JSON 数据附加到列中