希望有人可以帮助我并为我解释这个问题, 为什么第一个查询返回结果但第二个查询没有:
编辑: 第一个查询:
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语句,
答案 0 :(得分:1)
您可以连接字符串以形成SUBSTRING
字符串。要修剪字符串中的前3个字符和后3个字符,请使用LEN
和@input
函数。以下示例假定您的匹配字符串名为select name from Items where name like '%' + SUBSTRING(@input, 3, LEN(@input) - 4) + '%'
,并以3个引号开头和结尾,需要删除这些引号才能找到匹配项:
String[] names = request.getParameterValues("Name");
StringBuilder name = new StringBuilder("(");
for(int index = 0; index <names.length; index++){
name.append("'");
name.append(names[index].replace("\\","").replace("/",""));
name.append("'");
name.append(index != names.length -1? "," : ")");
}
String output = name.toString();