like 运算符

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

如果 str 与具有 escapepattern 匹配,则返回 true。

语法

str [ NOT ] like ( pattern [ ESCAPE escape ] )
str [ NOT ] like { ANY | SOME | ALL } ( [ pattern [, ...] ] )

参数

  • str:一个 STRING 表达式。

  • pattern:一个 STRING 表达式。

  • escape:单字符的 STRING 字面量。

  • ANYSOMEALL

    适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 9.1 及更高版本

    如果指定了 ALL,则如果 str 匹配所有模式,则 like 返回 true,否则如果匹配至少一个模式,则返回 true

返回

一个 BOOLEAN

pattern 是在字面上匹配的字符串,但以下特殊符号例外:

  • _ 匹配输入中的任意一个字符(类似于 POSIX 正则表达式中的 .
  • % 匹配输入中的零个或零个以上的字符(类似于 POSIX 正则表达式中的 .*)。

默认转义字符为 '\'。 如果转义字符的之前带有特殊符号或其他转义字符,则在字面上匹配后面的字符。 转义其他任何字符的操作无效。

使用文本时,请使用 raw-literalr 前缀),以避免转义字符预处理。

str NOT like ... 等效于 NOT(str like ...)

示例

> SELECT like('Spark', '_park');
true

> SELECT r'%SystemDrive%\Users\John' like r'%SystemDrive%\\Users%';
true

-- When not using raw literals, the escape character must be escaped.
> SELECT r'%SystemDrive%\Users\John' like '%SystemDrive%\\\\Users%';
true

> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';
true

> SELECT like('Spock', '_park');
false

> SELECT 'Spark' like SOME ('_park', '_ock')
true

> SELECT 'Spark' like ALL ('_park', '_ock')
false