如何在sql的where子句中使用like和substring

问题描述 投票:1回答:1

希望有人可以帮助我并为我解释这个查询,为什么第一个查询返回结果但第二个查询没有:

编辑:第一个查询:

select name from Items where name like '%abc%'

第二个查询:

 select name from Items where name like substring('''%abc%''',1,10)

为什么第一次返回结果但第二次返回什么时候没有

substring('''%abc%''',1,10)='%abc%'

如果背后有一个逻辑,是否有另一种方法来做第二个查询,

我的目的是将类似'''abc'''的字符串转换为'abc'以便使用like语句,

string tsql substring where-clause sql-like
1个回答
1
投票

您可以连接字符串以形成您的LIKE字符串。要修剪字符串中的前3个字符和后3个字符,请使用SUBSTRINGLEN函数。以下示例假设您的匹配字符串名为@input,并以3个引号开头和结尾,需要将其删除才能找到匹配项:

select name from Items where name like '%' + SUBSTRING(@input, 3, LEN(@input) - 4) + '%'
© www.soinside.com 2019 - 2024. All rights reserved.