首页 > 解决方案 > 是否有任何函数可以在 SQL 中减去日期

问题描述

我需要从员工雇用日期中减去几个月

员工聘用日期 = 12/08/2018

以往经验 = 0.92(即 11 个月)

我想要像这样的计算

入职日期 - 以前的经验 = 新入职日期

有什么功能吗?

标签: sqloracledatedifference

解决方案


你追求的add_months功能。

这接受两个参数:您尝试添加的日期和月数。

如果您将负数作为第二个参数传入,您将减去月份。

例如:

select to_date('23/07/2019', 'dd/mm/yyyy') dt,
       add_months(to_date('23/07/2019', 'dd/mm/yyyy'), -1) prev_month_dt
FROM   dual;

DT          PREV_MONTH_DT
----------- -------------
23/07/2019  23/06/2019

推荐阅读