带有IF的MSSQL WHERE

Zac*_*Zac 2 sql-server if-statement where

我试图得到一个查询,执行以下操作:

SELECT * FROM Test
WHERE
IF Condition = True
    Column1 = 'This'
    Column2 = 'That'
ELSE
    Column3 = 'This'
    column4 = 'That'
Run Code Online (Sandbox Code Playgroud)

我在if子句中的If条件中唯一能找到的就是CASES.我无法找到允许多个条件的案例的例子.

到目前为止,我必须通过在SELECT语句外部使用If并复制语句但更改WHERE子句来实现此目的.

Iva*_*tin 6

SELECT * FROM Test
WHERE
(Condition = True
    AND Column1 = 'This'
    AND Column2 = 'That')
OR
(Condition = FALSE
    AND Column3 = 'This'
    AND column4 = 'That')
Run Code Online (Sandbox Code Playgroud)