身份證號包含著出生日期,我們可以通過身份證號與當前日期來計算人的年齡。
現有資料表:
計算規則為先取出年份與當前年份作差,再比較當前日期與身份證上的月日(即判斷此人是否已經過了國曆生日),決定是否需要減去一歲,已經過了生日就不用減掉了。
計算年齡的sql如下:
// an highlighted block=
select id,
id_number,
(substring
(now()
,1,4
)-substring
(id_number,7,
4))-
(substring
(id_number,11,
4)-date_format
(now()
,'%m%d'
)>0)
as age
from t_test
執行了sql的結果為:
當前執行的日期為2018-11-27。
同一年出生,但具體日期在當前月日前與後的身份證計算出來的年齡會相差1。
通過身份證號計算年齡
sfzhm 計算年齡複製 var sfzhm document.getelementbyid sfzhm value if sfzhm.length 15 var date1 new date 取得當前日期 var year1 date1.getfullyear 取得當前年份 var month1 ...
java根據身份證號或生日計算年齡
private static final int invalidage 1 非法的年齡,用於處理異常。根據身份證號碼計算年齡 idnumber 考慮到了15位身份證,但不一定存在 public static int getagebyidnumber string idnumber else if i...
java根據身份證號或生日計算年齡
最近的專案中需要根據身份證號來計算年齡。廢話少說,上 private static final int invalidage 1 非法的年齡,用於處理異常。根據身份證號碼計算年齡 param idnumber 考慮到了15位身份證,但不一定存在 public static int getagebyi...