2

我在包含各种文本的列中搜索字符串 '%('。该字符串可以出现在文本中的任何位置,因此我尝试使用 LIKE 子句搜索字符串。

其中列 LIKE '%(%'

但是,这会将 % 视为通配符并在文本中搜索每个 (

为了逃避,我尝试使用 ESCAPE 关键字

where COLUMN LIKE '%(%' ESCAPE '%'

但这导致了一个错误:

涉及字段 *N 的选择错误。

请让我知道是否可以找到该字符串。涉及的一些字符串是:"%FOUND(....", or "...%SUBST(....", or even "...(%ABS(..."

我在 AS400 上使用 DB2。

4

3 回答 3

4

WHERE column LIKE '%\%(%' ESCAPE '\'

于 2013-01-29T12:59:08.160 回答
0

好吧,我尝试了以下,它有点工作..

CREATE TABLE test(column1 varchar(500))
go
INSERT INTO test VALUES('42%344%lsdj%'),('hello%asgj%sdf%l8-')

SELECT * FROM test WHERE column1 LIKE '%344[%]lsd%'

回报:

column1
--------------
42%344%lsdj%
于 2013-01-29T13:06:50.560 回答
0

另一种方法,但不如上述有效,

WHERE INSTR(column,'%(') > 0 
于 2013-01-29T13:07:35.810 回答