T-SQL嵌套语句- Else继续嵌套语句



在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将嵌套条件绑定在一起,您将获得所需的行为。

最新更新