全站数据
8 4 2 0 5 8 1

oracle中查询所有员工入职以来的工作期限

造价工程师说 | 教育先行,筑梦人生!         
问题更新日期:2024-12-17 15:16:49

问题描述

oracle中查询所有员工入职以来的工作期限,在线求解答
精选答案
最佳答案

显示天数很简单,用当前日期减去入职日期即可,如下: select empno,ename,sysdate-hiredate from emp;显示年月日的话,得进行一系列函数转换,如下:select empno,ename,to_char(floor(to_number((sysdate-hiredate)/365)))||' years '||to_char(ceil(months_between(sysdate,hiredate)-(floor(to_number((sysdate-hiredate)/365)))*12))||' months 'from emp上面的sql会显示工作期限的年数和月数,我觉得没有必要再显示天数了,因为每个月的天数也不一致

其他回答

显示天数很简单,用当前日期减去入职日期即可,如下:selectempno,ename,sysdate-hiredatefromemp;显示年月日的话,得进行一系列函数转换,如下:selectempno,ename,to_char(floor(to_number((sysdate-hiredate)/365)))||'years'||to_char(ceil(months_between(sysdate,hiredate)-(floor(to_number((sysdate-hiredate)/365)))*12))||'months'fromemp上面的sql会显示工作期限的年数和月数,我觉得没有必要再显示天数了,因为每个月的天数也不一致