2013-09-30 44 views
3

我運行這個SQL:PHP工作了年齡在年和月從時間戳

SELECT TIMESTAMPDIFF(YEAR,CONCAT(dob_year, ' - ',dob_month, ' - ',dob_day),CURDATE() ) 年齡議員

從數據庫中的時間戳工作了用戶青睞。

我有3列(dob_year/dob_month/dob_day)

上述查詢工作了年齡在幾年,但我需要它的年和月。所以不要年齡10歲,應該說10歲2個月大。

回答

3
SELECT 
     TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) 
     as 
     years, 
     (TIMESTAMPDIFF(MONTH,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) - 
     TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())*12) 
     as 
     months 
     FROM 
     members 
0

這應該給你2列

1. years 
2. months 


SELECT 
TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) 
as years, 
TIMESTAMPDIFF(MONTH, 
    TIMESTAMPADD(YEAR, 
     TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) 
    ,CONCAT(dob_year, '-', dob_month, '-', dob_day)),CURDATE()) 
as 
    months 
FROM 
    members 

reference

+0

不是100%確定的最後一部分工作,但嘗試讓我們看看會發生什麼:) –

+0

這一個不工作時,前一個顯示的東西像13年166個月(13年166個月) – user2710234

+0

它給你什麼錯誤:) –