MySQL 是一種開源數據庫,被廣泛應用于各類網站和應用程序中。處理身份證號碼中的日期是一個常見的任務,下面我們將介紹如何使用 MySQL 從身份證號碼中提取日期。
SELECT CONCAT( SUBSTR(id_number,7,4), '-', SUBSTR(id_number,11,2), '-', SUBSTR(id_number,13,2) ) AS birthdate FROM users;
在上述 SQL 語句中,我們使用了 SUBSTR 函數來截取身份證號碼中的年、月、日部分,并使用 CONCAT 函數將它們組合成一個 YYYY-MM-DD 格式的日期字符串。最后,我們將該組合成的日期字符串作為“birthdate”字段返回給用戶表的記錄。
如果你想根據生日計算年齡,你可以使用下面這條 SQL 語句:
SELECT TIMESTAMPDIFF(YEAR, STR_TO_DATE(SUBSTR(id_number,7,8), '%Y%m%d'), CURDATE()) AS age FROM users;
這段 SQL 語句中,我們使用了 STR_TO_DATE 函數將身份證號碼中的年月日字符串轉換為日期類型,再使用 TIMESTAMPDIFF 函數計算出該日期距離當前日期的年數。這樣,我們就可以把計算出的年齡作為“age”字段返回給用戶表的記錄。