当我用SQL语句查出几个特定人的出生年月以后,如何计算他们的实际年龄,以及他们出生当天是星期几?

如题所述

计算年龄,用当前时间减去出生年月。获取当前时间用getdate(),时间想减用DATEDIFF()。DATEDIFF()返回date2 超过date1的差距值,其结果值是一个带有正负号的整数值,函数原型为DATEDIFF(<datepart>,<date1>,<date2>)。
要获得生日星期几,用DATEPART ( datepart , date ) , datepart填“ww”表示星期,date填生日.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-25
DATEDIFF()可做时间差运算的,查一下用法即可
第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 实足年龄
第3个回答  2011-03-25
先查下出来 在获取当天时间
用当天时间减去 查下出来的时间
相似回答