将WHERE和CASE与SQL中的多个条件相结合

时间:2018-04-26 10:09:52

标签: sql where

我的WHERE子句中有3个条件:

FD.NAME = @fraude
AND substring(eei.NAME,1,12) != '##ORIGINAL##'
DOCTYP.LABEL = 'Facture'

我想修改我的第三个条件,例如:

    select .......
    where
    FD.NAME = @fraude
    AND substring(eei.NAME,1,12) != '##ORIGINAL##'
(CASE WHEN @fraude = 0
    THEN
DOCTYP.LABEL <> 'Facture'
WHEN @fraude = 1 THEN
    DOCTYP.LABEL = 'Facture'
end)

当@fraude为0时,将运算符更改为“&lt;&gt;”否则“=”,但这不起作用

1 个答案:

答案 0 :(得分:0)

试试这个:

AND substring(eei.NAME,1,12) != '##ORIGINAL##'
AND 
(
(
    @fraude = 0
AND
    DOCTYP.LABEL <> 'Facture'
) 
OR
(
    @fraude = 1 
AND
    DOCTYP.LABEL = 'Facture'
)
)

无需使用案例