2013-08-26 33 views
0

我在名爲myTable的數據庫中有一個表,並且在表內有一個名爲myBirth的行,我在mybirth行中插入了行日期值,該值存儲爲DATETIME。將mysql中的日期值轉換爲年齡

我想知道如何將mysql中的日期值轉換爲年齡然後回顯它。我看到類似的問題,但我的代碼仍然出現錯誤。

$result = 'SELECT myBirth (YEAR, CURDATE()) AS age FROM myTable'; 
$run = mysql_query($result); 

while($row = mysql_fetch_array($run)) 
{ 
$age = $row['myBirth']; 
} 
echo $age; 

回答

1

編寫一個「SQL函數n「作爲」myBirth「。並傳遞值(YEAR和CURDATE()))。做功能內的計算並返回年齡。

示例「myBirth」函數。

SET @d1 = YEAR, 
SET @d2 = CURDATE() 

SET @d3 = DATEDIFF(@d1,@d2) 

RETURN @d3; 

這個例子只給出了一個想法。

0

http://www.artfulsoftware.com/infotree/queries.php#96

年齡在幾年 鑑於@dob一個生日,這裏有年齡兩個簡單的公式年:

Date_format(From_Days(To_Days(Curdate()) - To_Days(@dob)), '%Y') + 0 

Year(Curdate()) - Year(@dob) - (Right(Curdate(),5) < Right(@dob,5)) 

,這裏是一個年齡在至兩年小數位,無視月份日期:

Round((((Year(now()) - Year(@dob)))*12 + (((Month(now()) - Month(@dob)))))/12, 2)