适用于:
Databricks SQL
Databricks Runtime
如果 str 匹配具有 pattern 的 escape(不区分大小写),则返回 true。
语法
str [ NOT ] ilike ( pattern [ ESCAPE escape ] )
str [ NOT ] ilike { ANY | SOME | ALL } ( [ pattern [, ...] ] )
参数
str:在UTF8_BINARY或UTF8_LCASE排序规则中的STRING表达式。pattern:表达式STRING。escape:单个字符STRING文本。ANY或SOME或ALL:如果指定了
ALL,则如果ilike匹配所有模式,则true返回str,否则如果匹配至少一个模式,则返回true。
返回
一个 BOOLEAN。
pattern 是在字面上匹配且不区分大小写的字符串,但以下特殊符号例外:
-
_匹配输入中的任意一个字符(类似于 POSIX 正则表达式中的.) -
%匹配输入中的零个或零个以上的字符(类似于 POSIX 正则表达式中的.*)。
默认转义字符为 '\'。
如果转义字符的之前带有特殊符号或其他转义字符,则在字面上匹配后面的字符且不区分大小写。
转义其他任何字符的操作无效。
使用文本时,请使用 raw-literal(r 前缀),以避免转义字符预处理。
str NOT ilike ... 等效于 NOT(str ilike ...)。
示例
> SELECT ilike('Spark', '_PARK');
true
> SELECT r'%SystemDrive%\users\John' ilike r'\%SystemDrive\%\\Users%';
true
> SELECT r'%SystemDrive%\users\John' ilike '\%SystemDrive\%\\\\Users%';
true
> SELECT '%SystemDrive%/Users/John' ilike '/%SystemDrive/%//users%' ESCAPE '/';
true
> SELECT like('Spock', '_pArk');
false
> SELECT 'Spark' like SOME ('_ParK', '_Ock')
true
> SELECT 'Spark' like ALL ('_ParK', '_Ock')
false