利用MySQL (InnoDB)計算年齡
本文介紹如何使用MySQL的TIMESTAMPDIFF
函數根據資料庫中儲存的出生日期計算年齡。
問題:
假設出生日期以'dd-mm-yyyy'格式存儲,我們需要確定:
解:
日期格式:
MySQL將目前日期減去另一個日期後傳回的日期格式為預設的MySQL日期時間格式:YYYY-MM-DD HH:MM:SS。
計算年齡:
我們可以使用TIMESTAMPDIFF
函數計算兩個日期在不同單位(包括年)上的差值。例如下:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>
此查詢計算1970年2月1日與目前日期之間的差值,並以年為單位傳回年齡。
範例:
考慮一個表,其中包含一個名為'date_of_birth'的列,格式為'dd-mm-yyyy':
<code class="language-sql">CREATE TABLE persons ( id INT PRIMARY KEY, name VARCHAR(255), date_of_birth DATE ); INSERT INTO persons (name, date_of_birth) VALUES ('John Doe', '1970-02-01'), ('Jane Doe', '1975-04-15');</code>
要計算'John Doe'的年齡,我們將執行以下查詢:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS age FROM persons WHERE name = 'John Doe';</code>
此查詢將傳回結果:
<code>age 51</code>
以上是如何使用 MySQL 從出生日期計算年齡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!