我有一个 SQL 查询如下。
Select * from table
where name like '%' + search_criteria + '%'
如果search_criteria = 'abc',它将返回包含xxxabcxxxx
的数据,这是可以的。
但是如果我的search_criteria = 'abc%',它仍然会返回包含xxxabcxxx
的数据,但事实不应该是这样。
我该如何处理这种情况?
最佳答案
如果您希望将 search_criteria
中的 %
符号视为文字字符而不是通配符,请将其转义为 [%]
... where name like '%' + replace(search_criteria, '%', '[%]') + '%'
关于SQL 'LIKE' 使用 '%' 进行查询,其中搜索条件包含 '%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803489/