postgresql – 通过添加月份来计算Postgres中的日期?

我有一个postgres表,其中包含以下字段

起始日期,持续时间

持续时间包含任意数月,因此要计算结束日期,请将持续时间的月份添加到开始日期.现在我想用postgres查询做这样的事情.

SELECT * 
FROM table 
WHERE start_date > '2010-05-12' 
AND (start_date + duration) < '2010-05-12'

这是可能的,如何正确的语法?

我的postgres的版本是x86_64-redhat-linux-gnu上的Postgresql 8.1.22,由GCC gcc(GCC)4.1.2 20080704编译(Red Hat 4.1.2-48)

尝试:
(start_date + (duration * '1 month'::INTERVAL)) < '2010-05-12'

要么

(start_date + (duration || ' month')::INTERVAL) < '2010-05-12'

更多信息:Date/Time Functions and Operators

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1.&#160;标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1.&#160;数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1.&#160;表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4.&#160;从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1.&#160;读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7.&#160;模式匹配 PostgreSQL提供了三种独立的实现模式匹...