1

2013 年 6 月、2014 年 6 月、2015 年 6 月に年齢が 60 歳になるすべての教師を数えなければなりません。

次の 3 年を 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
4

2 に答える 2

0

これを試して:

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-05-15T12:13:34.103 に答える