我有一个employee表,其中的字段是:
first_name, last_name, hire_date, salary, department_id, department_name,等等。
我打算找出EMPLOYEE1 and EMPLOYEE2和EMPLOYEE2 and EMPLOYEE3之间的雇佣日期差异,依此类推。
我必须用sql编写一个查询来显示雇员的名字和雇用日期的差异
发布于 2013-01-26 23:07:06
我们可以使用DATEDIFF来计算日期差异。e.g
SELECT DATEDIFF(SELECT DATE_ADD(start_date,INTERVAL 1 DAY),end_date);希望能对你有所帮助
还有一种使用to_days函数的方法。click here了解更多详细信息
发布于 2013-01-26 23:18:55
因为您还没有提到您使用的是什么RDBMS,所以我将从SQL-Server开始:
WITH x
AS (SELECT first_name,
last_name,
hire_date,
salary,
department_id,
department_name,
hireNum=Row_number()
OVER(
ORDER BY hire_date)
FROM dbo.employee)
SELECT DiffDays=Datediff(day, x.hire_date, x2.hire_date),
first_name,
last_name,
hire_date,
salary,
department_id,
department_name
FROM x
INNER JOIN x x2
ON x.hirenum = x2.hirenum + 1 发布于 2014-10-24 21:20:01
要使用天在Microsoft SQL 2012中查找日期之间的差异(用年、小时等替换日),请执行以下操作:
Select datediff(day, HireDate, EndDate)
From Employee1https://stackoverflow.com/questions/14538086
复制相似问题