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

如何根据出生日期和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


莫回无
浏览 936回答 3
3回答

收到一只叮咚

把这个扔出去。如果你转换使用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

互换的青春

我已经在我们的生产代码中使用这个查询近10年了:SELECT FLOOR((CAST (GetDate() AS INTEGER) - CAST(Date_of_birth AS INTEGER)) / 365.25) AS Age
打开App,查看更多内容
随时随地看视频慕课网APP