希望有人可以帮助我并为我解释这个查询,
为什么第一个查询返回结果但第二个没有:
编辑:
第一个查询:
select name from Items where name like '%abc%'
第二个查询:
select name from Items where name like substring('''%abc%''',1,10)
为什么第一个返回结果但第二个什么都不返回
substring('''%abc%''',1,10)='%abc%'
如果这背后有逻辑,是否有另一种方法来做第二个查询之类的事情,
我的 porpuse 是将像 '''abc''' 这样的字符串转换为 'abc' 以便使用 like 语句,
最佳答案
您可以连接字符串以形成您的 LIKE
字符串。要修剪字符串的前 3 个和后 3 个字符,请使用 SUBSTRING
和 LEN
职能。以下示例假定您的匹配字符串名为 @input
并以 3 个引号开始和结束,需要删除这些引号才能找到匹配项:
select name from Items where name like '%' + SUBSTRING(@input, 3, LEN(@input) - 4) + '%'
关于string - 如何在sql的where子句中使用like和substring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40588979/