如何在一个月内检索年龄为21岁的所有员工?

问题描述 投票:2回答:3

假设我有一个包含列的员工表:

Id, Name, Birthdate

我正在尝试编写SQL查询来检索一个月内将是21的所有员工,以及另一个查询以检索当前21的所有员工。

我正在使用Microsoft SQL Server 2008。

sql sql-server-2008
3个回答
4
投票

我假设您想要了解至少21岁的员工,而不是21岁。

从现在起一个月:

WHERE BIRTHDATEField <= DATEADD(year, -21, DATEADD(month, 1 Getdate())

删除今天使用的最后一个Dateadd


2
投票

尝试类似的东西:

SELECT Name FROM Table 
WHERE DATEDIFF(YEAR, Birthdate, DATEADD(MONTH,1,GETDATE())) >= 21

SELECT Name FROM Table 
WHERE DATEDIFF(YEAR, Birthdate, GETDATE()) >= 21

1
投票
select *
from employee e
where e.Birthdate = DATEADD(Year, -21, DATEADD(MONTH, 1, GETDATE()))
© www.soinside.com 2019 - 2024. All rights reserved.