【发布时间】:2020-12-21 13:19:52
【问题描述】:
我有一个列名 date 类型为 timestamp 的表
我正在尝试使用以下查询删除旧行:
delete from my_table where date<(now()-'30 days'::interval)
但所有行都被删除了。
例如,假设我有一个有 2 行的表:
date
2020-02-07 13:53:12.000
2020-02-09 09:30:12.000
我希望查询将删除第一行 (now=02 sep 2020 - 30 days = 02 aug 2020)
但所有行都被删除了
如何修复查询以删除我想要的行?
【问题讨论】:
-
你期待什么?这两行都在 2 月,显然早于 2020 年 8 月 2 日(顺便说一句:
'2020-09-02' - interval '30 days'产生 8 月 3 日,而不是 2 日)
标签: sql postgresql date where-clause