Wil*_*ght 3 sql t-sql sql-server case where
我想知道你是否可以在WHERE改变运算符的子句中做一个case语句.
我想要做的是根据布尔值过滤掉结果.
SELECT *
FROM table1
WHERE
CASE @Status
WHEN 1 THEN Name LIKE 'SOMETHING%'
WHEN 2 THEN Name NOT LIKE 'SOMETHING%'
END
Run Code Online (Sandbox Code Playgroud)
我想知道这是否可能?
das*_*ght 13
你可以在没有SWITCH表达式的情况下完成它,如下所示:
SELECT *
FROM table1
WHERE
(@Status = 1 AND Name LIKE 'SOMETHING%')
OR (@Status = 2 AND Name NOT LIKE 'SOMETHING%')
Run Code Online (Sandbox Code Playgroud)
由于@Status一次只能等于一件事,因此OR表达式中只有一个部分可以确定WHERE条件的结果.
| 归档时间: |
|
| 查看次数: |
1836 次 |
| 最近记录: |