ある範囲の日付 (開始日と終了日) に 17 歳だったユーザーを選択します--
みんな、ありがとう!
ユーザー
- ID
- 生年月日
例:
User_1 生年月日1996/09/28
User_2 生年月日1996 年 8 月 25 日
User_3 生年月日1995/07/28
User_4 生年月日1995/05/25
日付の範囲がFROM 03/05/2013からEnd Date 6/05/2013の場合 *User_1 と User_2 は、その期間中に 17 歳であるという基準を満たすため表示されます*
でも
範囲がFrom 02/10/2012でTo End Date 06/05/2013の場合 、すべてのユーザーは、日付範囲内のある時点で 17 歳だったので表示されます。
Datepart() を使用してみましたが、必要な答えを導き出すためにそれを明確に考えることができません
Select u.id, u.birthdate
From Users u
where convert(varchar,DATEPART(MM,u.birthdate))<=DATEPART(MM,'03/05/2013')
みんなの助けを借りて、私は結論に達しました
DATEADD(YY,17,birthdate) between @from and @end