查找员工从当前日期或间隔开始的工作天数

时间:2013-05-09 09:28:45

标签: sql oracle

我被困在一个查询中,对于一名员工,我试图找到他从雇用日期或任何日期间隔工作的总天数,即它应该返回总天数

我查询了查找从日期间隔开始工作了100天的员工

 select first_name,salary,hire_date, from employees
 where 
  hire_date + to_dsinterval('10 10:00:00')<= date'2003-01-01';

如何修改它以返回总天数?

我正在使用Oracle Database 11g Express Edition HR架构。

时间和提示

2 个答案:

答案 0 :(得分:0)

解决方案是,如果要从特定日期查找工作查询的总天数

select first_name,salary,hire_date,(date'2003-01-01'-hire_date)  totaldays 
from employees
where 
hire_date + to_dsinterval('10 10:00:00')<= date'2003-01-01';

以及当前日期的所有工作日

select first_name,salary,hire_date,round((sysdate-hire_date))  totaldays 
from employees
where 
hire_date + to_dsinterval('10 10:00:00')<= date'2003-01-01';

答案 1 :(得分:0)

要返回两个日期之间的总天数:

SELECT empno, hr_date, (end_dt - hr_date) days_btwn
  FROM
(
 SELECT empno, hiredate hr_date, trunc(sysdate) end_dt
   FROM scott.emp
)
/

-- Same as above --
SELECT empno, hiredate
     , trunc(sysdate)  today
     , (trunc(sysdate) - hiredate)  days_btwn
  FROM scott.emp
 /

EMPNO    HIREDATE    TODAY    DAYS_BTWN
----------------------------------------
7369    12/17/1980    5/9/2013    11831
7499    2/20/1981     5/9/2013    11766
7521    2/22/1981     5/9/2013    11764
7566    4/2/1981      5/9/2013    11725
...