Оператор ilike
Область применения: Databricks SQL Databricks Runtime
Возвращает значение true, если str
совпадает с pattern
и escape
без учета регистра.
Синтаксис
str [ NOT ] ilike ( pattern [ ESCAPE escape ] )
str [ NOT ] ilike { ANY | SOME | ALL } ( [ pattern [, ...] ] )
Аргументы
str
: выражение STRING.pattern
: выражение STRING.escape
: односимвольный литерал STRING.ANY
,SOME
илиALL
:Если
ALL
указан, тоilike
возвращаетtrue
, еслиstr
соответствует всем шаблонам, в противном случае возвращаетtrue
, если соответствует хотя бы одному шаблону.
Возвраты
Значение BOOLEAN.
Шаблон — это строка, которая сравнивается буквально и без учета регистра, за исключением следующих специальных символов:
_
соответствует любому одному символу во входных данных (аналогично.
в регулярных выражениях POSIX);%
соответствует нулю значений и более во входных данных (аналогично.*
в регулярных выражениях POSIX).
По умолчанию в качестве escape-символа используется '\'
.
Если escape-символ предшествует специальному символу или другому escape-символу, следующий знак сопоставляется буквально и без учета регистра.
Недопустимо экранировать любые другие знаки.
При использовании литерала используйте raw-literal
(r
префикс) для предотвращения предварительной обработки символов escape-символа.
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