2017-07-27 16 views
1

データベースの人数を6歳未満にするか、同じ月に6人をパラメータと見なすために必要な日付パラメータがあります。その年の誕生日を抱く人がいる場所

これは私のスタートです。 (パラメータから2017年7月2日の日付)

SELECT a.name,a.firstname,a.birthday FROM adress a 
WHERE a.birthday >= dateadd(year,-6, { d '2017-07-02'}) 

は私の問題は、私はまた、2011から07で6をオンthoose人々を返す必要があります。私が持っている選択と私は6月に誕生日2017-07-01または2017-07-02を持っているものだけを得る。

どうすればうまくできますか?

+0

'WHERE X> = YまたはX Xは= z'、' a.birthday'とyは現在のdateadd(...)です.zは2011-07年に6歳になる人ですか? –

+0

正確な日付パラメータを使用する代わりに、LAST_DAY( '2017-07-02')を使用してデータを取得します。 –

答えて

1

それを解決し、おかげで

SELECT a.name,a.firstname,a.birthday FROM adress a 
WHERE a.birthday >= dateadd(year,-6, EOMONTH({ d '2017-07-02'})) 
0

試してみてください、この1:私はあなたが必要だと思う

SELECT a.NAME, 
     a.firstname, 
     a.birthday 
FROM adress a 
WHERE Datename(mm, birthday) = Datename(mm, Getdate()) 
     AND Datename(yy, birthday) < Datename(yy, Getdate()) 
     AND Datename(dd, birthday) >= Datename(dd, Getdate()) 
関連する問題