mysql根據身份證號計算年齡

2021-09-02 01:19:27 字數 715 閱讀 3683

身份證號包含著出生日期,我們可以通過身份證號與當前日期來計算人的年齡。

現有資料表:

計算規則為先取出年份與當前年份作差,再比較當前日期與身份證上的月日(即判斷此人是否已經過了國曆生日),決定是否需要減去一歲,已經過了生日就不用減掉了。

計算年齡的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...