在SQL Server中,是否有一种方法可以让嵌套的case语句继续嵌套的case语句?
CASE
WHEN ... then
CASE
WHEN ... THEN
ELSE **[Continue to below WHEN]** END
WHEN ... then
WHEN ... then
ELSE ... END
想知道我是否可以通过不将过程中的WHEN语句复制/粘贴到嵌套的CASE中来保持代码干净。
平铺嵌套。所以不用这个:
CASE
WHEN A then
CASE
WHEN B THEN C
WHEN D THEN E
ELSE **[Continue to below WHEN]** END
WHEN F then G
WHEN H then I
ELSE J END
你有这个:
CASE
WHEN A AND B THEN C
WHEN A AND D THEN E
WHEN F then G
WHEN H then I
ELSE J END
<<p>CASE
表达式/strong>(not statement:CASE
不能在SQL段之间分支,只能返回一个值)将在第一次匹配时停止,因此通过平铺嵌套并使用andAND
将嵌套条件绑定在一起,您将获得所需的行为。