2013-12-19 63 views
-1

我需要能够在接下来的45天内找到所有需要审核的员工。我有MS SQL:转换为MySQL的MS SQL查询

Select * 
from Employee 
where DATEDIFF(yy,HireDate,GetDate()+45) > DATEDIFF(yy,HireDate,GetDate()) 

这是如何转换为MySQL?

+2

你尝试将其转换为MySQL的?请转换尝试后编辑您的问题。 – Taryn

+0

MySQL的'DATEDIFF'有点不同。另外,为了获得MySQL中的当前时间,它是'NOW()'或'CURDATE()'。 http://dev.mysql.com/doc/refman/5.1/zh/date-and-time-functions.html –

+0

实际上CurDate更正确,因为他不想查找日期时间。 –

回答

0

我想你可以只使用CURDATE而不是GETDATE,所以它会仅仅是:

Select * from Employee where DATEDIFF(HireDate,CurDate()) > DATEDIFF(HireDate,CurDate()) 
1

尝试:

Select * 
from Employee 
where DATEDIFF(HireDate,DATE_ADD(CURDATE(), INTERVAL 45 DAY)) > DATEDIFF(HireDate,CURDATE()) 
+1

这比我的更正确。 –