2016-01-24 90 views
1

我需要关于SQL查询的帮助。 表: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); 

我需要一个查询,列出所有员工,他们的租赁日期和天数,每个人都会有在公司工作1月1日, 2007年

回答

1

您可以在日期字段使用YEAR()

SELECT * FROM Employees WHERE YEAR(hire_date)='2003' 

,如果它不工作,你可以使用EXTRACT()

SELECT * FROM Employees WHERE EXTRACT(YEAR FROM hire_date)='2003' 

,正如艾伦Hadsell正确地评论说:

SELECT COUNT(*) FROM Employees WHERE EXTRACT(YEAR FROM hire_date)='2003' 
+1

因为他希望员工的数量,应该是'SELECT COUNT(* )'而不是'select *'。但是你有答案的本质是正确的。 –