-1

我有一个广告商表,正在尝试匹配来自用户查询字符串的数据。我们有广告商,例如 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 Communications Group”等实体。但是,一旦我尝试在 LIKE 子句中实现“D\&”,我就没有返回任何记录。我非常愿意接受我遗漏了一些东西,并且非常乐意指出这一点:)

4

3 回答 3

1

尝试这个 :

set ESCAPE \
AND (UPPER(als.SearchString) LIKE UPPER('"D\&B%"'))
于 2013-04-23T20:28:54.713 回答
0

你可以用 || 连接它 或设置定义关闭

来源:https ://forums.oracle.com/forums/thread.jspa?threadID=466604

于 2013-04-23T20:29:38.710 回答
0

添加ESCAPE到条件的末尾并在LIKE条件中使用该字符。

AND (UPPER(als.SearchString) LIKE UPPER('"D\&G%"')) ESCAPE '\'
于 2013-04-23T20:34:11.223 回答