다음 45 일 내에 검토 할 모든 직원을 찾을 수 있어야합니다. 나는 MS SQL을 가지고있다 :MS SQL 쿼리를 MySQL로 변환했습니다.
Select *
from Employee
where DATEDIFF(yy,HireDate,GetDate()+45) > DATEDIFF(yy,HireDate,GetDate())
이것은 어떻게 MySQL로 변환됩니까?
다음 45 일 내에 검토 할 모든 직원을 찾을 수 있어야합니다. 나는 MS SQL을 가지고있다 :MS SQL 쿼리를 MySQL로 변환했습니다.
Select *
from Employee
where DATEDIFF(yy,HireDate,GetDate()+45) > DATEDIFF(yy,HireDate,GetDate())
이것은 어떻게 MySQL로 변환됩니까?
내가 방금 대신에 GetDate의 CURDATE를 사용할 수 있다고 생각, 그래서 그냥 것 :
Select * from Employee where DATEDIFF(HireDate,CurDate()) > DATEDIFF(HireDate,CurDate())
시도 :
Select *
from Employee
where DATEDIFF(HireDate,DATE_ADD(CURDATE(), INTERVAL 45 DAY)) > DATEDIFF(HireDate,CURDATE())
이것은 내 것보다 정확합니다. –
한 번만 DATEDIFF
를 확인해야한다. 그냥 일 수를 비교하고 비교하십시오. MySQL의의 DATEDIFF
(다른 날짜/시간 함수)에 대한
SELECT *
FROM Employee
WHERE DATEDIFF(CURDATE(), HireDate) <= 45
문서는 : http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
당신은 MySQL로이 변환하려고 했습니까? 전환 시도로 질문을 수정하십시오. – Taryn
MySQL의'DATEDIFF'는 약간 다릅니다. 또한 MySQL에서 현재 시간을 얻으려면'NOW()'또는'CURDATE()'를 사용하십시오. http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html –
실제로 CurDate는 datetime을 찾고 있지 않으므로 정확합니다. –