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

Combining WHERE and CASE with multiple conditions in SQL

我的 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 时,将运算符更改为“<>”,否则“=”,但这不起作用

试试这个:

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

不需要用例