我需要有关SQL查询的帮助。 表:
Create Table Employees
( employee_id number(3) Primary Key,
first_name varchar2(10),
last_name varchar2(10),
dept_code varchar2(3),
hire_date date,
credit_limit number(4,2),
phone_ext varchar2(4),
manager_id number(3)
);
条目:
insert into Employees values (201, 'Susan', 'Brown', 'Exe', To_Date('01-Jun-1998','DD-Mon-YYYY'), 30, '3484', null);
insert into Employees values (202, 'Jim', 'Kern', 'Sal', To_Date('16-Aug-1999','DD-Mon-YYYY'), 25, '8722', 201);
insert into Employees values (203, 'Martha', 'Woods', 'Shp', To_Date('02-Feb-2004','DD-Mon-YYYY'), 25, '7591', 201);
insert into Employees values (204, 'Ellen', 'Owens', 'Sal', To_Date('01-Jul-2003','DD-Mon-YYYY'), 15, '6830', 202);
我需要一个查询,列出截至2007年1月1日所有员工,他们的雇用日期以及每个人为公司工作的天数。
答案 0 :(得分:1)
您可以在日期字段中使用YEAR()
:
SELECT * FROM Employees WHERE YEAR(hire_date)='2003'
如果不起作用,您可以使用EXTRACT()
:
SELECT * FROM Employees WHERE EXTRACT(YEAR FROM hire_date)='2003'
并且正如Alan Hadsell正确评论的那样:
SELECT COUNT(*) FROM Employees WHERE EXTRACT(YEAR FROM hire_date)='2003'