次の方法で共有


like 演算子

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

truestrpatternと一致する場合は、escapeを返します。

構文

str [ NOT ] like ( pattern [ ESCAPE escape ] )
str [ NOT ] like { ANY | SOME | ALL } ( [ pattern [, ...] ] )

引数

  • str: STRING 式。

  • pattern: STRING 式。

  • escape: 1文字のSTRINGリテラル。

  • ANY または SOME または ALL:

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

    ALLが指定されている場合、[NOT] は、すべてのパターンtrue一致する (または一致しない) 場合にstrを返します。 それ以外の場合、またはANYまたはSOMEが指定されている場合は、[NOT] のように、少なくとも 1 つのパターンtrue一致する (または一致しない) 場合はstrが返されます。

返品

BOOLEAN です。

パターンは、文字どおり一致する文字列ですが、次の特殊文字は例外とします。

  • _ は入力内の任意の 1 文字と一致します (POSIX 正規表現の . に類似)
  • % は、入力内の 0 文字以上と一致します (POSIX 正規表現の .* に類似)。

既定のエスケープ文字は '\' です。 エスケープ文字の前に特殊記号または別のエスケープ文字がある場合、その次の文字が文字通り照合されます。 その他の文字をエスケープするのは無効です。

リテラルを使用する場合は、エスケープ文字の前処理を回避するために raw-literal (r プレフィックス) を使います。

str NOT like ...NOT(str like ...) に相当します。

SQL Standard で定義されているように、照合順序がたとえ末尾のスペースを区別しない場合でも、LIKE は常に末尾のスペースを考慮します。 null 以外の strの場合: str LIKE str || ' ' は常に false

適用対象:はい Databricks SQL チェックが Databricks Runtime 17.2 以降" とマークされているチェック

LIKEでは、次の照合順序がサポートされています。

  • UTF8_BINARY
  • UTF8_BINARY_RTRIM
  • UTF8_LCASE
  • UTF8_LCASE_RTRIM

その他の照合順序では、 containsstartswith、または ends_withを使用します。

> SELECT like('Spark', '_park');
true

> SELECT r'%SystemDrive%\Users\John' like r'%SystemDrive%\\Users%';
true

-- When not using raw literals, the escape character must be escaped.
> SELECT r'%SystemDrive%\Users\John' like '%SystemDrive%\\\\Users%';
true

> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';
true

> SELECT like('Spock', '_park');
false

> SELECT 'Spark' like SOME ('_park', '_ock')
true

> SELECT 'Spark' like ALL ('_park', '_ock')
false

-- like is always trailing blank sensitive
> SELECT 'Spark' COLLATE UTF8_BINARY_RTRIM like 'Spark ';
false