gpt4 book ai didi

SQL:我可以否定 where 子句中的条件吗?

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

我想检查一个 bool 值是否为真,然后在 WHERE 子句中决定使用什么条件。

假设 bool 变量是@checkbool:

SELECT *
FROM TableA A
WHERE
--if @checkbool is true, run this
A.Id = 123

--if @checkbool is false, run this
A.Id <> 123

有没有办法否定条件?就像在 C++ 中一样,您可以使用 if !(condition)。

如果没有,解决此问题的最佳方法是什么?

谢谢!

最佳答案

SQL 相当于 !在 C 中是 NOT .但是,在您的情况下,您想要其他东西:您需要建立一个条件,根据 @checkbool 的值在两个选择之间做出决定。 , 像这样:

SELECT *
FROM TableA A
WHERE ( (@checkbool) AND (A.Id = 123))
OR ((NOT @checkbool) AND (A.Id <> 123))

关于SQL:我可以否定 where 子句中的条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18135164/

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