我有一个广告商表,并试图匹配来自用户查询字符串的数据。我们有广告商,例如D & G,我想知道如何编写sql以便它是有效的搜索?我正在使用LIKE,但似乎无法使任何工作或通过谷歌找到一个体面的答案,所以我该怎么做?我试着双引号和线象下面这样:将&符添加到sql查询中
AND (UPPER(als.SearchString) LIKE UPPER('"D&G%"'))
感谢
好了,我的帖子正在投入的问题!下面是我的总WHERE子句:'d & 2G通信集团
WHERE (a.CountryCodes & 3 > 0) AND (na.PubDate BETWEEN '4/22/2001' AND '4/22/2013') AND (UPPER(als.SearchString) LIKE UPPER('D%') ESCAPE '\')
显然,“&”已被删除,这将返回419个结果,包括这样的实体但是,只要我尝试在LIKE子句中实现'D \ &',我就不会返回任何记录。我非常愿意接受,我失去了一些东西,并会更乐意为指出的:)
为什么双引号?这似乎工作:http://sqlfiddle.com/#!3/81cd1/2所以我想你有没有告诉我们。 “*似乎无法使任何工作*”的意思是什么?什么是错误信息?你得到的结果是什么?表中的数据是什么? – 2013-04-23 20:58:32
不太确定为什么你投了票?我没有收到错误消息,但我没有收到任何结果。我试着用双引号来看看它是否工作,类似于其他论坛上的一些建议。 'D&G'在表格中,匹配'D%'或类似的查询字符串,但如果将&字符串放在字符串中,我似乎无法做任何工作。 – flavour404 2013-04-23 21:28:25
我没有downvote。你检查了SQLFiddle链接吗?它清楚地表明'like'确实可以用'&'工作,并且不需要任何转义。你**正在使用SQL Server,对吗? – 2013-04-23 21:57:12