gpt4 book ai didi

sql - 在 IN 子句中使用 CASE 语句

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

是否可以在 IN 子句中使用 CASE 语句?

这是我一直试图正确编译的简化版本:

SELECT * FROM MyTable 
WHERE StatusID IN (
CASE WHEN @StatusID = 99 THEN (5, 11, 13)
ELSE (@StatusID) END )

谢谢!

最佳答案

CASE仅返回标量值。你可以这样做。 (我假设,根据您的示例,当 @StatusID = 99 时,StatusID 值 99 不匹配。)

select *
from MyTable
where (@StatusID = 99 and StatusID in (5, 11, 13))
or (@StatusID <> 99 and StatusID = @StatusID)

关于sql - 在 IN 子句中使用 CASE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232267/

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