2014-05-09 2 views
0

데이터베이스에는 개월이 중요한 1 세 미만의 어린이를 포함한 모든 연령대의 사람들을위한 기록이 있습니다.MYSQL에서 년과 월의 두 날짜의 차이를 어떻게 확인합니까?

SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) AS age; 

당신이 얻을 문제 사용

일년이 0으로 표시됩니다 사람 <이다; 사용

SELECT TIMESTAMPDIFF(MONTH, dob, CURDATE()) AS age; 

1 세 이상의 사람은 그냥

SELECT TIMESTAMPDIFF(MONTH, dob, CURDATE())/12 AS age; 

당신이 할 수있는 사용> 500개월

의 나이를해야합니다 그래서 43 세의 달에 표시 3 개월의 경우 .25, 누군가의 경우 43.25와 같은 결과를 가져옵니다.> 43

그 < 일년

단지 3m도

  • 43Y 300 만
  • 해당 제품이 3m
  • 또는 같은 것을 어떻게 이런 일이 MySQL의 쿼리로 표현 될 수있다 달성하기 위해 노력하고있다?

+1

아마이 질문에 대한 답 http://stackoverflow.com/a/18181808/3617573를 –

+0

덕분에 그 질문은 이상하게도 내 검색 – nikmav

+0

에 오지 않았다 말로 표현했다 @AlexandreFILLATRE 아무 문제가 그렇게 :) 없다 그것은 당신을 도울까요? –

답변

0
SELECT IF(TIMESTAMPDIFF(MONTH, dob, CURDATE())>12,TIMESTAMPDIFF(MONTH, dob, CURDATE())/12+ 'yeasrs old' , TIMESTAMPDIFF(MONTH, dob, CURDATE())+'months old') 
관련 문제