1

テーブルのデータと構造:

お名前 生年月日
スーソ 1987-02-27 00:00:00.000
スー 1968-02-27 00:00:00.000
ジー 1999-02-27 00:00:00.000

クエリ:

USE [PersonDatabase]
GO

DECLARE @AGE int  =1
Select Name, X=CASE
   WHEN( ( year(getdate()) - year(DateOfBirth)) >=0 AND (year(getdate()) - year(DateOfBirth)) <=17) THEN 1
   WHEN( ( year(getdate()) - year(DateOfBirth)) >= 18 AND (year(getdate()) - year(DateOfBirth)) <=29) THEN 2
   WHEN( ( year(getdate()) - year(DateOfBirth)) >= 30 AND (year(getdate()) - year(DateOfBirth)) <=60) THEN 3
END
froM PersonDatabase.mem.Namebirth
WHERE (X=@AGE)

次のように期待していない出力が生成されます。

X
1
2
3

WHERE私の質問は次のとおりです。次のように出力を生成するために、クエリのCLAUSEでどこが間違っていますか?

X
1
4

1 に答える 1