2013-12-19 4 views
-1

다음 45 일 내에 검토 할 모든 직원을 찾을 수 있어야합니다. 나는 MS SQL을 가지고있다 :MS SQL 쿼리를 MySQL로 변환했습니다.

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/en/date-and-time-functions.html –

+0

실제로 CurDate는 datetime을 찾고 있지 않으므로 정확합니다. –

답변

0

내가 방금 대신에 GetDate의 CURDATE를 사용할 수 있다고 생각, 그래서 그냥 것 :

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

이것은 내 것보다 정확합니다. –

관련 문제