Oracle查询两日期间隔的年月日

Oracle 两日期间隔的年月日

用365 或者30天 都是不准的
months_between(date1,date2)函数得到的是两个时间间隔的日历月 是准确的

代码

--9.以年月日的方式显示所有员工的服务年限
select employee_id as "雇员编号",
first_name || ' ' || last_name as "雇员姓名",
hire_date as "雇佣日期",
to_char(sysdate,'YYYY/MM/DD') as "当前日期",
trunc(months_between(sysdate,hire_date)/12)||'年'
-- 日历月 / 12 = 年份
||trunc((months_between(sysdate,hire_date)-trunc(months_between(sysdate,hire_date)/12)*12))||'个月零'
-- 日历月取整 - 年份 * 12 = 月份
||trunc(sysdate-add_months(hire_date,trunc(months_between(sysdate,hire_date))))||'天'
-- 当前日期 - 入职日期在 ( 日历月取整以后个的月 ) 的日期    = 天数
as "服务年限"
from employees;

结果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值