LIKE
描述:判断字符串是否能匹配上LIKE后的模式字符串。如果字符串与提供的模式匹配,则LIKE表达式返回为真(NOT LIKE表达式返回假),否则返回为假(NOT LIKE表达式返回真)。
匹配规则:
a. 此操作符只有在它的模式匹配整个串的时候才能成功。如果要匹配在串内任何位置的序列,该模式必须以百分号开头和结尾。
b. 下划线 (_)代表(匹配)任何单个字符; 百分号(%)代表任意串的通配符。
c. 要匹配文本里的下划线或者百分号,在提供的模式里相应字符必须前导逃逸字符。逃逸字符的作用是禁用元字符的特殊含义,缺省的逃逸字符是反斜 线,也可以用ESCAPE子句指定一个不同的逃逸字符。
d. 要匹配逃逸字符本身,写两个逃逸字符。例如要写一个包含反斜线的模式常量,那你就要在SQL语句里写两个反斜线。
e. 关键字ILIKE可以替换LIKE,区别是LIKE大小写敏感,而ILIKE大小写不敏感。
f. 操作符~~等效于LIKE,操作符~~*等效于ILIKE。
n 参数standard_conforming_strings设置为off时,在文串常量中的任何反斜线需要被双写。因此,写一个匹配单个反斜线的模式,实际上在语句需要四个反斜线(可以用ESCAPE选择一个不同的逃逸字符,来避免这种情况,这样反斜线就不再是LIKE的特殊字符了。但仍然是字符文本分析器的特殊字符,所以仍需要写两个反斜线)。
n 在兼容MYSQL数据模式时,也可以通过写ESCAPE ''的方式不选择逃逸字符,这样可以有效地禁用逃逸机制。但是无法关闭下划线和百分号在模式中的特殊含义。