簡體   English   中英

通過添加月份來計算Postgres中的日期?

[英]Calculating a date in Postgres by adding months?

我有一個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'

更多信息: 日期/時間函數和運算符

你可能會發現這篇文章很有用: PostgreSQL:month:= interval '30 days';

此鏈接: http//wiki.postgresql.org/wiki/Working_with_Dates_and_Times_in_PostgreSQL ,更具體地說是“使用DATETIME,DATE和INTERVAL VALUES工作”一節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM