postgreSQL 在日期的基础上增加年份再减去一天的方法

来源:互联网 发布:恒腾网络 股吧 编辑:程序博客网 时间:2024/04/30 03:19

今天公司同事忽然问了我一个问题,一个人2012年5月1日进入公司,如果签约20年,那他应该是在2032年的4月30日到期。

如果数据库里记录了入社日期和合同年限,那么如何搜索出合同到期日子

这样的语句在保险公司或银行系统中应该经常会用到吧?但对于我这样只写过一些简单网页程序的人来说着实是比较难解决的问题

不过经过一番努力还是解决了这个问题。

也许我以后的工作中可能会碰到类似的问题,为了方便我,我特意把语句留下来

 

select to_char(date_part('year', 入社年月日)+to_number(签约年数,'99G999D9S'),'9999-')||to_char(入社年月日-1,'mm-dd') FROM 合同表;

 

繁琐的类型转换着实让人头疼。。不知道是否还有更好的语句能更简练的完成这项任务