我一直在为此苦恼,希望这是可能的。
declare @locationType varchar(50);
declare @SearchTerm NVARCHAR(100);
SELECT column1, column2
FROM whatever
WHERE
CASE @locationType
WHEN 'location' THEN account_location LIKE @SearchTerm
WHEN 'area' THEN Area LIKE @SearchTerm
WHEN 'division' THEN xxx_location_division LIKE @SearchTerm
END
我从这里复制了相关帖子中的代码。
但我遇到了如下错误:
关键字 'LIKE' 附近有语法错误。
LIKE
、WHERE
和CASE
不能同时使用?你的意思是以/
开头并以%
结尾,对吗? - Deeptechtons@SearchTerm
应该是“NEW%”。 - FrancoisCASE
不能用于返回搜索条件(例如account_location LIKE @SearchTerm
)。这是我猜测数据库分析/理解您的查询方式。请查看我的更新答案。 - Francois