gpt4 book ai didi

sql-server - T/SQL 查询中 end = 1 的 Case 语句

转载 作者:行者123 更新时间:2023-12-03 23:25:06 24 4
gpt4 key购买 nike

我希望有人可以向我解释以下查询,因为我不熟悉语法:

@[user1]   int,
@[user2] varchar(10)

delete
from [table name]
where [id] in (select [id]
from [a diff table name]
where [user1] = @[user1])
and (case
when [user2] = 'some string' then 1
when [table field] = @user2 then 1
else 0
end) = 1
and [other field] = 0
and [other field] = 0
and [other field]= 0

首先,我显然已经更改了所有变量/表名称。如果有什么不清楚的,请见谅。我知道第一部分是一个删除语句,它使用 in 语句。没关系。我还得到了最后一部分,多个 AND 语句向 WHERE 子句添加了条件。

这是我正在努力解决的案例陈述。我有两个问题。
  • else 0 有什么用?是否附加到它上面的 when 子句,以便如果 [table field] 没有 = 传入它的 user2 变量设置为 0?
  • 什么是结局=1?我试过谷歌搜索,但之前没有找到任何这种形式的例子。
  • 最佳答案

    ELSE 0 表示如果 WHEN 语句都不匹配,则 CASE 语句将返回 0。

    End = 1 更容易理解,如果你把它想成

    WHERE (CASE .... END) = 1

    关于sql-server - T/SQL 查询中 end = 1 的 Case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039891/

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