我的表中有一個birthdate列,它是一個DATE字段類型。mysql DATE fieldtype返回值爲年份
我想運行一個查詢並在幾年前返回該列的結果。
所以2010-07-01會回到4(4年)
又如:2002年1月20日將返回12(12年)。
是否有一個mysql函數來做到這一點?
我的表中有一個birthdate列,它是一個DATE字段類型。mysql DATE fieldtype返回值爲年份
我想運行一個查詢並在幾年前返回該列的結果。
所以2010-07-01會回到4(4年)
又如:2002年1月20日將返回12(12年)。
是否有一個mysql函數來做到這一點?
有整整的官方手冊頁面上這些案件的幾個例子(我總是建議把參考,以):
http://dev.mysql.com/doc/refman/5.0/en/date-calculations.html
SELECT TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age
這應該這樣做。
CONCAT(FORMAT(DATEDIFF(NOW(), your_date_field)/365.25,2), ' years old')
除了全年以外,通常不給年齡。好吧,非常未成年人說,他們是三歲和四分之一歲:-) – VMai
試試這個,如果你想他們永遠不會0 ... if(FORMAT(DATEDIFF(NOW(),your_date_field)/ 365.25,2)<1 ,'近1歲',CONCAT(FLOOR(FORMAT(DATEDIFF(NOW(),your_date_field)/ 365.25,2))),'years old') –
舊時代(MySQL 4.x或更早版本)繁瑣的程序,以獲得每個有效日期組合的全年差異。但是由於[TIMESTAMPDIFF](http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_timestampdiff)存在,這很容易,請參閱@DanFromGermany的答案。 – VMai
回答幾天就回來上DOB計算希望這有助於http://stackoverflow.com/questions/24099562/calculate-age-with-decimals-from-date-of-birth/24099709#24099709 –
嘗試'選擇timestampdiff(YEAR,'2010-07-01',現在());' – Braj