次の方法で共有


ilike 演算子

適用対象:「はい」のチェック マーク Databricks SQL のチェックをオン Databricks Runtime

strpattern と、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