LIKE 和 MATCHES 条件

LIKE 或 MATCHES 条件测试字符串的匹配。

当下列测试为 TRUE时,条件为 TRUE,或满足:

如果括起来的字符串包括字面字符,这些字符与 LIKE 或 MATCHES 运算符识别的任何通配符相匹配,则 ESCAPE 子句可定义您可在括起来的字符串中包括的 ASCII 字符。当将左边的列值与括起来的字符串相比较时,将紧跟在转义字符之后的下一字符解释为字面字符,而不解释为通配符,且忽略该转义字符。LIKE 和 MATCHES 运算符识别不同的通配符。要获取更多关于 LIKE 和 MATCHES 转义字符的信息,请参阅 ESCAPE 与 LIKE 一起使用ESCAPE 与 MATCHES 一起使用 主题。

您仅可使用带有括起来的字符串的单引号(')来匹配字面的单引号;您不可使用 ESCAPE 子句。您可使用单引号字符作为与任何其他模式相匹配的转义字符,如果您将它写作 '''' 这样的话。

Important: 您在 LIKE 或 MATCHES 条件中指定的列应为简单的字符数据类型,像 CHAR、LVARCHAR、NCHAR、NVARCHAR 或 VARCHAR。例如,您不可在 LIKE 或 MATCHES 条件中指定复合的数据类型,诸如 ROW 类型列。(ROW 类型列是声明为命名的或未命名的 ROW 类型的列。)类似地,数据库服务器不可对使用带有简单大对象或智能大对象列(诸如 CLOB 列)的 LIKE 或 MATCHES 的条件求值;包括此条件的查询失败并报错 -640。