【发布时间】:2016-11-14 12:38:47
【问题描述】:
希望有人可以帮助我并为我解释这个查询, 为什么第一个查询返回结果,而第二个没有:
编辑: 第一个查询:
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语句,
【问题讨论】:
-
这两个查询没有任何共同之处。第一个返回字符串的一部分,本质上是一个无操作,因为字符串 less 长度小于 10 个字符。第二个没有任何意义——如果你想找到包含
abc的字符串,就写LIKE '%abc%'。现在,您似乎在要求以'开头和结尾并包含abc的字符串? -
请解释你真正想要做什么。 BTW
substring返回字符串的一部分,它不会替换任何内容。 -
@PanagiotisKanavos 谢谢你的回答,我知道他们没有共同点,我现在要更新
-
更好地解释你真正想要做什么以及为什么你不能只写
LIKE '%abc%' -
@PanagiotisKanavos 现在清楚了吗?
标签: string tsql substring where-clause sql-like