当表中有特殊字符时,可以使用escape进行查询,官方描述如下:
The pattern can contain special pattern-matching characters:
-
An underscore (_) in the pattern matches exactly one character (as opposed to one byte in a multibyte character set) in the value.
-
A percent sign (%) in the pattern can match zero or more characters (as opposed to bytes in a multibyte character set) in the value. The pattern '%' cannot match a null.
You can include the actual characters %
or _
in the pattern by using the ESCAPE
clause, which identifies the escape character. If the escape character precedes the character %
or _
in the pattern, then Oracle interprets this character literally in the pattern rather than as a special pattern-matching character. You can also search for the escape character itself by repeating it. For example, if @ is the escape character, then you can use @@ to search for @.
ESCAPE Clause Example The following example searches for employees with the pattern A_B
in their name:
SELECT last_name FROM employees WHERE last_name LIKE '%A\_B%' ESCAPE '\';
The ESCAPE
clause identifies the backslash (\) as the escape character. In the pattern, the escape character precedes the underscore (_). This causes Oracle to interpret the underscore literally, rather than as a special pattern matching character.
转载于:https://blog.51cto.com/hunt1574/962958