gpt4 book ai didi

sql - SQL WHERE 子句中的 IF 语句

转载 作者:行者123 更新时间:2023-12-04 21:54:33 24 4
gpt4 key购买 nike

是否可以将一个值传递给存储过程以告诉它是否将 OR 语句附加到 SQL SELECT 语句?

我试过类似的方法,但它无效:

SELECT xyzName
FROM xyz_fields
WHERE (xyzType = 'this') UNION ALL
(if @status=1 OR (xyzType = 'that')) UNION ALL
(if @status2=1 OR (xyzType = 'somethingelse'))

有点像在 SQL 中构建 WHERE 子句而不是从应用程序再次访问数据库?

最佳答案

我想你的意思是这样的:

SELECT xyzName
FROM xyz_fields
WHERE (xyzType = 'this')
OR (@status=1 AND (xyzType = 'that'))
OR (@status2=1 AND (xyzType = 'somethingelse'))

where 子句的第二行仅在@status 等于 1 且 xyzType 等于“that”时传递成功。

关于sql - SQL WHERE 子句中的 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16670414/

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