我想构建一个包含以下逻辑的 CASE 语句,但 sql 编译器不喜欢我的语句中的“OR”:
CASE expression
WHEN expression1 OR expression2
THEN <yadda yadda>
ELSE <yadda yadda>
END
更具体的代码如下:
CASE @var1
WHEN '99' OR '22'
THEN
(CASE @var2
WHEN 'All' THEN col1
ELSE @var2
END)
END
DECLARE @Variable INT;
SET @Variable = 1;
SELECT
CASE
WHEN @Variable = 1 OR @Variable = 2 THEN 'It is 1 or 2'
WHEN @Variable = 3 THEN 'It is 3'
ELSE 'It is not 1, 2, or 3'
END AS [SomeField]
MSDN 文档用于CASE https://learn.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql, OR https://learn.microsoft.com/en-us/sql/t-sql/language-elements/or-transact-sql, and 表达式 https://learn.microsoft.com/en-us/sql/t-sql/language-elements/expressions-transact-sql.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)