gpt4 book ai didi

sql-server - T-SQL 是否允许多个 ELSE IF?或者我必须嵌套条件吗? SQL Server 2012

转载 作者:行者123 更新时间:2023-12-02 21:11:37 25 4
gpt4 key购买 nike

在 C# 中,您可以有多个条件,其中只有一个会执行:

if (Condition1)
{
// Condition1 is true.
}
else if (Condition2)
{
// Condition1 is false and Condition2 is true.
}
else if (Condition3)
{
// Condition1 is false and Condition2 is false and Condition3 is true.
}
else
{
// Condition1, Condition2, and Condition3 are false.
}

但是相同的逻辑在 T-SQL 中是否有效,还是必须嵌套语句?这会像上面的代码一样执行吗?

IF @variable1 = 1
BEGIN
--@variable1 = 1
END
ELSE IF @variable1 = 2
BEGIN
--@variable1 = 2
END
ELSE IF @variable3 = 3
BEGIN
--@variable1 = 3
END
ELSE
BEGIN
--@variable1 > 3
END

我在这里可能是错的,但是如果 SQL 不允许像 C# 那样的多个条件,从逻辑的角度来看,SQL 代码是否会以与 C# 代码相同的方式进行计算?例如,每个新的 ELSE IF 的执行是否保证不包括先前的语句?

最佳答案

是的,它们是相同的。只会执行一个条件,并且条件的顺序至关重要。

<强> LiveDemo

DECLARE @variable1 INT = 2
,@variable3 INT = 3;

IF @variable1 = 1
BEGIN
SELECT 'First IF'
END
ELSE IF @variable1 = 2
BEGIN
SELECT 'Second IF'
END
ELSE IF @variable3 = 3
BEGIN
SELECT 'Third IF'
END
ELSE
BEGIN
SELECT 'Else Clause'
END

关于sql-server - T-SQL 是否允许多个 ELSE IF?或者我必须嵌套条件吗? SQL Server 2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com