Sql 如何检索一个月内21岁的所有员工';什么时候了?

Sql 如何检索一个月内21岁的所有员工';什么时候了?,sql,sql-server-2008,Sql,Sql Server 2008,假设我有一个包含列的employee表: Id, Name, Birthdate 我正在尝试编写SQL查询来检索一个月后将满21岁的所有员工,以及另一个查询来检索当前21岁的所有员工 我使用的是Microsoft SQL Server 2008。我假设您想了解至少21岁的员工,而不是确切地21岁的员工 一个月后: WHERE BIRTHDATEField尝试以下操作: SELECT Name FROM Table WHERE DATEDIFF(YEAR, Birthdate, DATEADD

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

Id, Name, Birthdate
我正在尝试编写SQL查询来检索一个月后将满21岁的所有员工,以及另一个查询来检索当前21岁的所有员工


我使用的是Microsoft SQL Server 2008。

我假设您想了解至少21岁的员工,而不是确切地21岁的员工

一个月后:

WHERE BIRTHDATEField尝试以下操作:

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

SELECT Name FROM Table 
WHERE DATEDIFF(YEAR, Birthdate, GETDATE()) >= 21
select *
from employee e
where e.Birthdate = DATEADD(Year, -21, DATEADD(MONTH, 1, GETDATE()))