[英]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.