ストアドプロシージャに渡されたいくつかのパラメータに基づいてデータを選択しようとしています。私は年齢に問題があります、私はこのようなことをしようとしています:
ストアドプロシージャパラメータの場合、15〜18@Age = 1
歳、次に19〜25歳を選択します@Age = 2
...明らかにこれは正しくありません。誰でも助けることができます。ありがとう。:
SELECT
User
FROM
[Member] m
WHERE
((m.Gender = @Gender) or @Gender IS NULL)
and ((DATEDIFF(hour,m.DOB,GETDATE())/8766) Between
CASE
WHEN @Age = 1 THEN (SELECT DATEDIFF(hour, m.DOB, GETDATE())/8766 WHERE (SELECT DATEDIFF(hour, m.DOB, GETDATE())/8766) between 15 and 18)
WHEN @Age = 2 THEN (SELECT DATEDIFF(hour,m.DOB,GETDATE())/8766 WHERE (SELECT DATEDIFF(hour,m.DOB,GETDATE())/8766) between 19 and 25)
END)