第2个回答 2011-03-25
在SQL查询语句中,对身份证号码中的年龄信息进行处理。代码如下,试试:
Format(Int(DateDiff("M",(IIf(Len(CStr([身份证号*]))=15,"19" & Mid([身份证号*],7,2),Mid([身份证号*],7,4)) & "-" & IIf(Len(CStr([身份证号*]))=15,Mid([身份证号*],9,2),Mid([身份证号*],11,2)) & "-" & IIf(Len(CStr([身份证号*]))=15,Mid([身份证号*],11,2),Mid([身份证号*],13,2))),Now())/12),"00") & "岁又" & Format(DateDiff("M",(IIf(Len(CStr([身份证号*]))=15,"19" & Mid([身份证号*],7,"00"),Mid([身份证号*],7,4)) & "-" & IIf(Len(CStr([身份证号*]))=15,Mid([身份证号*],9,2),Mid([身份证号*],11,2)) & "-" & IIf(Len(CStr([身份证号*]))=15,Mid([身份证号*],11,2),Mid([身份证号*],13,2))),Now())-Int(DateDiff("M",(IIf(Len(CStr([身份证号*]))=15,"19" & Mid([身份证号*],7,2),Mid([身份证号*],7,4)) & "-" & IIf(Len(CStr([身份证号*]))=15,Mid([身份证号*],9,2),Mid([身份证号*],11,2)) & "-" & IIf(Len(CStr([身份证号*]))=15,Mid([身份证号*],11,2),Mid([身份证号*],13,2))),Now())/12)*12,"00") & "个月" AS 实足年龄