ilike
演算子
適用対象: Databricks SQL Databricks Runtime
str
が pattern
と、escape
で大文字と小文字を区別せずに一致する場合は、true を返します。
構文
str [ NOT ] ilike ( pattern [ ESCAPE escape ] )
str [ NOT ] ilike { ANY | SOME | ALL } ( [ pattern [, ...] ] )
引数
str
: STRING 式。pattern
: STRING 式。escape
: 1 文字の STRING リテラル。ANY
またはSOME
またはALL
:ALL
が指定されている場合、ilike
は、str
がすべてのパターンに一致するときはtrue
を返し、少なくとも 1 つのパターンに一致するときはtrue
を返します。
戻り値
BOOLEAN。
パターンは、文字どおりに、大文字と小文字を区別せずに一致する文字列ですが、次の特殊文字は例外です。
_
は入力内の任意の 1 文字と一致します (POSIX 正規表現の.
に類似)%
は、入力内の 0 文字以上と一致します (POSIX 正規表現の.*
に類似)。
既定のエスケープ文字は '\'
です。
エスケープ文字が特殊記号またはもう 1 つのエスケープ文字の前にある場合、それに続く文字は、文字どおりに、大文字と小文字は区別されずに照合されます。
その他の文字をエスケープするのは無効です。
リテラルを使用する場合は、エスケープ文字の前処理を回避するために 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