首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中有没有减去日期的函数

SQL中有没有减去日期的函数
EN

Stack Overflow用户
提问于 2019-07-31 21:08:29
回答 3查看 56关注 0票数 1

我需要从员工聘用日期中减去月份

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

以前的经验= 0.92 (即11个月)

我想要这样的计算

聘用日期-以前的经验=新聘用日期

对此有什么功能吗?

EN

回答 3

Stack Overflow用户

发布于 2019-07-31 21:12:16

你要找的是add_months函数。

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

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

例如:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2019-07-31 21:11:52

你可以试着从雇佣日期中减去这么多天:

代码语言:javascript
复制
SELECT
    date_hire,
    date_hire - 365*exp AS hire_date_new
FROM yourTable;

这假设一年是365天,但严格来说并非如此,因为闰年有366天。希望你不会介意早点或晚点雇人。

票数 0
EN

Stack Overflow用户

发布于 2019-07-31 21:12:12

您可以使用add_months()添加一年的一小部分:

代码语言:javascript
复制
select add_months(hiredate, - prev_exp * 12)

或转换为天:

代码语言:javascript
复制
select hiredate - 365 * prev_exp
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57291515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档