我被困在一个查询中,对于一名员工,我试图找到他从雇用日期或任何日期间隔工作的总天数,即它应该返回总天数
我查询了查找从日期间隔开始工作了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架构。
时间和提示
答案 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
...