以年月日的方式显示scott.emp中所有员工的服务年限。
语句:select sysdate,hiredate,
trunc(months_between(sysdate,hiredate)/12)||'年' as 年份差距 ,
trunc(mod(months_between(sysdate,hiredate) ,12))||'月' as 月份差距 ,
trunc(sysdate - add_months(hiredate,months_between(sysdate,hiredate)))||'天' as 天差距
from emp;
结果:
SYSDATE HIREDATE 年份差距 月份差距 天差距
-------------- -------------- ------------------------------------------ ------------------------------------------------------
11-10月-11 17-12月-80 30年 9月 24天
11-10月-11 20-2月 -81 30年 7月 21天
11-10月-11 22-2月 -81 30年 7月 19天
11-10月-11 02-4月 -81 30年 6月 9天
11-10月-11 28-9月 -81 30年 0月 13天
11-10月-11 01-5月 -81 30年 5月 10天
11-10月-11 09-6月 -81 30年 4月 2天
11-10月-11 19-4月 -87 24年 5月 22天
11-10月-11 17-11月-81 29年 10月 24天
11-10月-11 08-9月 -81 30年 1月 3天
11-10月-11 23-5月 -87 24年 4月 18天
11-10月-11 03-12月-81 29年 10月 8天
11-10月-11 03-12月-81 29年 10月 8天
11-10月-11 23-1月 -82 29年 8月 18天
已选择14行。
显示上个月18号距离今天的天数。
语句:select sysdate as 当前日期,(last_day(add_months(sysdate,-1))-to_char(last_day(add_months(sysdate,-1)),'dd')+18) as 上个月8号
日期,trunc(sysdate - (last_day(add_months(sysdate,-1))-to_char(last_day(add_months(sysdate,-1)),'dd')+18)) as 相差天数 from dual;
结果:
当前日期 上个月8号日期 相差天数
-------------- -------------- ----------
11-10月-11 18-9月 -11 23