2011-09-05 77 views
1

在我的數據庫(MySQL)中有一個包含生日的字段。當我檢索記錄時,我想在那裏打印年齡爲age = (YEAR(CUERRENT_DATE) - YEAR(birthday))。但是在我的數據庫中沒有名爲age的列。所以我只想做,創建臨時專欄並保持年齡,當我檢索記錄時,我也可以打印年齡。有沒有辦法做到這一點?我如何編寫查詢?我是SQL新手。請幫幫我。在MySQL中創建臨時列

回答

1

你並不需要一個臨時列,只需選擇:

SELECT YEAR(CUERRENT_DATE) - YEAR(birthday) AS age, otherColumns FROM xyz WHERE ... 

正如你看到的,我作爲重新命名錶達你的「臨時列」。它會出現在你的結果集中。

+0

謝謝..............! –

1

您可以直接計算年齡在SELECT,並返回它一樣,如果它是一個列:

SELECT *, YEAR(CUERRENT_DATE) - YEAR(birthday) as age 
FROM table 
... 

這就像一個臨時列。

+0

謝謝..............! –

1

我想你不需要存儲年齡 - 你從SQL中檢索出生日期並計算代碼和打印年齡。除此之外,您可以使用數據庫內置函數獲取當前日期 - 如果您想在SQL中執行此操作。

如果您使用MySQL。

SELECT (YEAR(CURDATE())-YEAR(birth)) AS age FROM TABLE_NAME; 
+0

謝謝..............! –