ilike
ilike 介绍
str ilike pattern[ ESCAPE escape] - 如果 str 与 pattern 匹配(忽略大小写),则返回真;如果任一参数是 null,则返回 null;否则返回假。
参数:
-
str - 一个字符串表达式
-
pattern - 一个字符串表达式。该模式是一个字符串,会忽略大小写地逐字匹配,但以下特殊符号除外:
-
_ 匹配输入中的任意一个字符(类似于 posix 正则表达式中的 .)
-
% 匹配输入中的零个或多个字符(类似于 posix 正则表达式中的 .*)
-
从 Spark 2.0 开始,我们的 SQL 解析器不再对字符串文字进行转义。例如,为了匹配 "\abc",模式应该是 "\abc"。
-
当启用 SQL 配置 'spark.sql.parser.escapedStringLiterals' 时,它将回退到 Spark 1.6 关于字符串文字解析的行为。例如,如果启用了此配置,要匹配 "\abc",模式应该是 "\abc"。
-
-
escape - Spark 3.0 之后添加的字符。默认的转义字符是 ''。如果转义字符在特殊符号或另一个转义字符之前,后续字符将被逐字匹配。转义任何其他字符都是无效的。
Examples:
> SELECT ilike('Spark', '_Park');
true
> SET spark.sql.parser.escapedStringLiterals=true;
spark.sql.parser.escapedStringLiterals true
> SELECT '%SystemDrive%\Users\John' ilike '\%SystemDrive\%\\users%';
true
> SET spark.sql.parser.escapedStringLiterals=false;
spark.sql.parser.escapedStringLiterals false
> SELECT '%SystemDrive%\\USERS\\John' ilike '\%SystemDrive\%\\\\Users%';
true
> SELECT '%SystemDrive%/Users/John' ilike '/%SYSTEMDrive/%//Users%' ESCAPE '/';
true
提示:
使用 RLIKE 来匹配标准的正则表达式。
Since: 3.3.0