SQL帮助(日期函数)

时间:2016-01-24 16:51:39

标签: sql sqlplus sql-date-functions

我需要有关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日所有员工,他们的雇用日期以及每个人为公司工作的天数。

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'