2013-12-19 91 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

這比我的更正確。 –