Sql 计算未来3年内60岁的年龄

Sql 计算未来3年内60岁的年龄,sql,date,Sql,Date,我必须统计2013年6月、2014年6月和2015年6月年龄将达到60岁的所有教师。 详细信息:2013年有一名教师,2014年有5名教师等 我不知道如何计算未来三年的6月份,以及2013年6月、2014年6月和2015年6月年龄将达到60岁的教师人数 这是表格: TeacherName DateOfBirth TeacherAge june2013 june2014 june2015 S. KHALID SALIM 1958

我必须统计2013年6月、2014年6月和2015年6月年龄将达到60岁的所有教师。 详细信息:2013年有一名教师,2014年有5名教师等

我不知道如何计算未来三年的6月份,以及2013年6月、2014年6月和2015年6月年龄将达到60岁的教师人数

这是表格:

TeacherName         DateOfBirth               TeacherAge    june2013    june2014    june2015
S. KHALID SALIM     1958-03-23 00:00:00.000   55            
ZUBAIDA BEGUM       1976-08-01 00:00:00.000   36            
TANZEEM AKHTAR      1974-09-25 00:00:00.000   38            
MARYAM BIBI         1982-08-18 00:00:00.000   30            
RABIA TABASSUM      1976-11-10 00:00:00.000   36    
我的问题是:

SELECT  TeacherName, DateOfBirth,
  datediff(mm, DateOfBirth, getdate()) / 12 as TeacherAge,
  '' as  june2013(countteachers) , '' as june2014(countteachers), '' as june2015(countteachersonlywhoseagewillbe60atjune2015)
FROM Teachers
试试这个:

DECLARE @dob  DATETIME, @june2013date DATETIME, @june2014date DATETIME
SET @dob='1980-01-09 00:00:00'
SET @june2013date='2013-06-01 00:00:00'
SET @june2014date='2014-06-01 00:00:00'


SELECT DATEDIFF(hour,@dob,GETDATE())/8766  AS Age, 
   DATEDIFF(hour,@dob,@june2013date)/8766 AS June2013Age, 
   DATEDIFF(hour,@dob,@june2014date)/8766 AS June2014Age
它应该返回如下内容:

Age         June2013Age June2014Age
----------- ----------- -----------
33          33          34

那么你想数一数将在2013/2014/2015年6月完成60年学业的所有教师

这确实是生日的一个限制:

select count(*) from teachers where 
    dateofbirth between '1953-06-01' and '1953-06-30 23:59:58'
    OR dateofbirth between '1954-06-01' and '1954-06-30 23:59:58'
    OR dateofbirth between '1955-06-01' and '1955-06-30 23:59:58'

这是我的SQL查询,需要完整和正确地选择TeacherName、DateOfBirth、datediff(mm,DateOfBirth,getdate())/12作为TeacherAge、“作为2013年6月”、“作为2014年6月”、“作为2015年6月”,从Teacher那里选择所有在这3个6月中有60岁生日的人?请注意,没有关于日期函数的标准,因此如果不指定数据库引擎,您的问题是不可解析的。否:我有这三个日期2013年6月2日、2014年6月2日、,2015年6月现在我想数一数2013年6月或2014年6月或2015年6月年龄将满60岁的教师我需要数一数所有的教师你说的“2013年6月完成”是什么意思?如果有一位教师的出生日期是1958-03-23,我们首先需要计算从这个出生日期算起的年龄,现在在查询中是55岁,我需要计算,如果一些教师在明年6月(即2014年)将达到60岁,那么只需计算,如果不是,那么0相同的情况是所有的是,我们必须从生日开始计算,但根据这三个日期,我们必须将其与上述三年的日期进行比较,如果教师年龄在其中,即如果年龄为60岁,那么我们将计算