Teilen über


Operator like

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt true zurück, wenn str übereinstimmt pattern mit escape.

Syntax

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

Argumente

  • str: Ein STRING Ausdruck.

  • pattern: Ein STRING Ausdruck.

  • escape: Ein einzelnes Zeichenliteral STRING .

  • ANY oder SOME oder ALL:

    Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

    Wenn ALL angegeben wird, gibt [NOT] wie true zurück, falls str alle Muster erfüllt (oder nicht erfüllt). Andernfalls oder wenn ANY oder SOME angegeben ist, dann gibt [NOT] Like true zurück, wenn str (mindestens ein Muster) übereinstimmt (oder nicht übereinstimmt).

Gibt zurück

Ein BOOLEAN.

Das Muster ist eine Zeichenfolge, die mit Ausnahme der folgenden Sonderzeichen genau auf Übereinstimmung überprüft wird:

  • _ entspricht einem beliebigen Zeichen in der Eingabe (ähnlich wie . in regulären POSIX-Ausdrücken).
  • % entspricht null oder mehr Zeichen in der Eingabe (ähnlich wie .* in regulären POSIX-Ausdrücken).

Das Standardescapezeichen ist '\'. Wenn ein Escapezeichen einem besonderen Symbol oder einem anderen Escapezeichen vorangestellt ist, wird das folgende Zeichen direkt verglichen. Es ist als Escapezeichen für alle anderen Zeichen ungültig.

Verwenden Sie beim Einsatz von Literalen raw-literal (Präfixr), um die Vorabverarbeitung von Escapezeichen zu vermeiden.

str NOT like ... entspricht NOT(str like ...).

Wie im SQL-Standard definiert, ist LIKE immer empfindlich gegenüber nachfolgenden Leerzeichen, auch wenn die Kollation nachgestellte Leerzeichen nicht beachtet. Für nicht-null str: str LIKE str || ' ' ist immer false.

Gilt für:check marked yes Databricks SQL check marked yes Databricks Runtime 17.2 und höher

Die folgenden Sortierungen werden von LIKE unterstützt:

  • UTF8_BINARY
  • UTF8_BINARY_RTRIM
  • UTF8_LCASE
  • UTF8_LCASE_RTRIM

Für andere Sortierungen verwenden Sie contains, startswith oder ends_with.

Beispiele

> 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