这个问题的答案也有了,但它特指于DB2。
如果要使用 LIKE
操作符搜索一个已包含百分号 %
的字符串,该怎么办呢?LIKE
操作符会将百分号 %
符号用作通配符。
WHERE MyCol LIKE '%75[%]%'
这比使用ESCAPE更简单,并且适用于大多数关系型数据库管理系统。
你可以在使用LIKE
的时候添加ESCAPE
关键字。只需在字符串中的每个现有%
符号前面添加所需的字符(例如'!'),然后在查询末尾添加ESCAPE'!'
(或您选择的字符)即可。
例如:
SELECT *
FROM prices
WHERE discount LIKE '%80!% off%' ESCAPE '!'
这将使数据库将80%视为要搜索的字符串的实际部分,而不是80(通配符)。
WHERE column_name LIKE '%save 50[%] off!%'
WHERE col1 LIKE '%[%]75%'
当你想要%号后面只保留一位数字时,可以使用以下代码。
WHERE col2 LIKE '%[%]_'
WHERE column_name LIKE '%|%%' ESCAPE '|'
[_]
。那么如何转义开放方括号呢?像这样:[[]
。http://www.sqlserver2000.databases.aspfaq.com/how-do-i-search-for-special-characters-e-g-in-sql-server.html - Csaba Toth