gpt4 book ai didi

带大小写的 SQL Server WHERE IN

转载 作者:行者123 更新时间:2023-12-02 07:41:31 25 4
gpt4 key购买 nike

我们如何从 WHERE 子句中的 CASE 指定取值范围?
我的这个查询失败了

declare @ProductType int

select * from Products
where ProductLine in
(
case @ProductType
when 1 then ('TVs')
when 2 then ('Handsets', 'Mobiles') --fails here
else ('Books')
end
)

这也行不通:

declare @ProductType int

select * from Products
where (case @ProductType
when 1 then (ProductLine = 'TVs')
when 2 then (ProductLine in ('Handsets', 'Mobiles'))
else (ProductLine = 'Books')
end)

最佳答案

你不能那样做 - 你需要将它分成几张支票:

WHERE (ProductLine = 'TVs' AND @ProductType = 1)
OR (ProductLine IN ('Handsets', 'Mobiles') AND @ProductType = 2)
OR (ProductLine = 'Books' AND @ProductType NOT IN (1, 2))

关于带大小写的 SQL Server WHERE IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508684/

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