为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据出生日期和getDate()计算年龄(以年数为单位)

如何根据出生日期和getDate()计算年龄(以年数为单位)

莫回无 2019-06-24 16:22:24
如何根据出生日期和getDate()计算年龄(以年数为单位)我有一张桌子,上面列着人们的出生日期(目前是nvarchar(25)。我怎样才能把它转换成一个日期,然后用年龄来计算他们的年龄呢?我的数据如下ID    Name   DOB1     John   1992-01-09 00:00:002     Sally  1959-05-20 00:00:00我希望看到:ID    Name   AGE  DOB1     John   17   1992-01-09 00:00:002     Sally  50   1959-05-20 00:00:00
查看完整描述

3 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

把这个扔出去。如果你转换使用112样式(Yyyymmdd)到一个数字的日期,您可以使用这样的计算.

(yyyymdd-yyyymdd)/10000=全年差异

declare @as_of datetime, @bday datetime;select @as_of = '2009/10/15', @bday = '1980/4/20'select 
    Convert(Char(8),@as_of,112),
    Convert(Char(8),@bday,112),
    0 + Convert(Char(8),@as_of,112) - Convert(Char(8),@bday,112), 
    (0 + Convert(Char(8),@as_of,112) - Convert(Char(8),@bday,112)) / 10000

输出量

20091015    19800420    290595  29


查看完整回答
反对 回复 2019-06-24
?
互换的青春

TA贡献1797条经验 获得超6个赞

我已经在我们的生产代码中使用这个查询近10年了:

SELECT FLOOR((CAST (GetDate() AS INTEGER) - CAST(Date_of_birth AS INTEGER)) / 365.25) AS Age


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 935 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信