gpt4 book ai didi

sql-server - 如何使用 SQL Server 在 where 条件下使用 case 子句?

转载 作者:行者123 更新时间:2023-12-01 00:35:23 25 4
gpt4 key购买 nike

您好,我将在 SQL Server 中使用一个查询进行过滤。但是我遇到了这样的错误

Incorrect syntax near '='.

我有一张 table 。在此表存储 2 列 1 是社会类型和 2 是 ISFUser 这样的。我想在此 2 列上过滤一些内容。我的过滤参数是 All、Instagram、ISFUser。所以我需要全部选择然后想要所有数据。然后在我选择 Instagram 之后才获取 InstagramUsers。像这样。

这是我的查询。

declare @Filter nvarchar(max) = 'Instagram'
select * from Users
where IsDeleted = 0 and @Filter =
case
when @Filter = 'Instagram' then socialtype
when @Filter = 'ISFUser' then (ISFUser = 1)
ELSE @Filter = 'ALL' then (1 = 1)
END

这是我的查询,我想应用过滤器,但我不知道该怎么做。我收到错误。

最佳答案

您可以将您的条件扩展到:

declare @Filter nvarchar(max) = 'Instagram';

select *
from Users
where IsDeleted = 0
and (
(@Filter = 'Instagram' and socialtype = 'Instagram')
OR
(@Filter = 'ISFUser' AND IFUser = 1)
OR
@Filter = 'ALL'
);

关于sql-server - 如何使用 SQL Server 在 where 条件下使用 case 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45751665/

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