在SQL查询中获取年龄

在SQL查询中获取年龄,第1张

在SQL查询中获取年龄

假设生日存储为DateTime

Select Count(*)From    (        Select Id, Floor(DateDiff(d, BirthDate, GetDate()) / 365.25) As Age        From People        ) As EmpAgesWhere EmpAges Between 20 And 40

也可以在没有派生表的情况下这样编写:

Select Count(*)From PeopleWhere Floor(DateDiff(d, BirthDate, GetDate()) / 365.25)  Between 20 And 40

还有一种方法是使用DateAdd。正如OMG Ponies和ck所提到的,这将是最有效的方法,因为它可以使用dateOfBirth上的索引(如果存在的话)。

Select Count(*)From PeopleWhere DateOfBirth Between DateAdd(yy, -40, GetDate()) And DateAdd(yy, -20, GetDate())


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5106658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存