我试图在posgresql中添加一个月的日期,同时将DAY设置为该月的最后一天。如何?
示例
UPDATE temp
SET expiration_date = expiration_date + interval '1' month
WHERE name = 'xxx'
问题是,如果date是2014-04-30,它会增加一个月,date就会变成2014-05-30,而May确实有31天。
我想要完成的示例
2014-04-30 + 1个月-> 2014-05-31
2014-05-31 + 1个月-> 2014-06-30
需要一些提示。在postgres中有可能吗?我可以用PHP来计算,但我希望避免这样做。
如果我没理解错的话,您想要下个月的最后一天。可以这样做:
SELECT date_trunc('mon','2014-04-30'::date+interval'2mon')-interval'1day',
date_trunc('mon','2014-05-31'::date+interval'2mon')-interval'1day';