我有一个广告商表,我正在尝试匹配用户查询字符串中的数据。我们有广告客户,比如D& G,我想知道如何编写sql以便它是一个有效的搜索?我正在使用LIKE,但似乎无法通过谷歌做任何工作或找到一个体面的答案,所以我该怎么做?我试过双引号和下面的行:
AND (UPPER(als.SearchString) LIKE UPPER('"D&G%"'))
由于
好的,所以我的帖子受到质疑!这是我的总WHERE子句:
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个结果,包括“D& G通信组”等实体。但是,一旦我尝试实施'D \&'在LIKE子句中,我没有返回任何记录。我非常愿意接受我错过的东西,并且非常乐意被指出:)
答案 0 :(得分:1)
试试这个:
set ESCAPE \
AND (UPPER(als.SearchString) LIKE UPPER('"D\&B%"'))
答案 1 :(得分:0)
你可以用||连接它或者设置定义关闭
来源:https://forums.oracle.com/forums/thread.jspa?threadID=466604
答案 2 :(得分:0)
将ESCAPE
添加到LIKE
条件的末尾,并在条件中使用该字符。
AND (UPPER(als.SearchString) LIKE UPPER('"D\&G%"')) ESCAPE '\'