主要针对sqlserver 采用函数DATEDIFF
之前采用的是 DATEDIFF(yy,出生日期,getdate()) 这种取法只能取到大概的年龄,
如 出生日期为:1987-06-20
当前日期为:2013-06-18
则获取的年龄为 26
现在需要精确的算出年龄
则可以采用类似如下方法
FLOOR(DATEDIFF(DY, 出生日期, getdate())/365.25)
FLoor(parm)返回小于等于parm的最大整数
如 出生日期为:1987-06-20
当前日期为:2013-06-18
则获取的年龄为 25
再如
如 出生日期为:1987-06-20
当前日期为:2013-06-20
则获取的年龄为 26
原文:http://www.cnblogs.com/ellanjianx/p/3535762.html