3

您好,我有以下来自 SQL 服务器存储过程的应用:

SET @GenderToSearchBy =
        CASE 
            When @Gender IS NOT NULL And @Gender='M' THEN @MaleID
            When @Gender IS NOT NULL And @Gender='F' Then @FemaleID
            Else NULL
        End

SELECT FRST_NAME,LAST_NAME,ID_NUMB,GRDE_DSCN,
GEND_ID FROM #TEMP_STUD WHERE GEND_ID=@GenderToSearchBy

现在,我希望它能够工作,如果@Gender是 NULL 或不等于MF然后搜索两种性别,这意味着这WHERE不是必需的,有没有办法做到这一点,而无需在 a 中编写 2 个单独的查询CASE

4

1 回答 1

2

尝试使用COALESCE

WHERE GEND_ID = COALESCE(@GenderToSearchBy, GEND_ID)

或者ISNULL

WHERE GEND_ID = ISNULL(@GenderToSearchBy, GEND_ID)
于 2013-04-12T18:03:44.450 回答