我正在尝试根据传递给我的存储过程的一些参数来选择数据。我有年龄问题,我正在尝试做这样的事情:
如果我的存储过程参数@Age = 1
然后我选择 15 到 18 岁之间的年龄,@Age = 2
然后选择 19 到 25 岁...,显然这是不正确的,任何人都可以提供帮助。谢谢。:
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)