Teilen über


ilike-Operator

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

Gibt TRUE zurück, wenn für str eine Übereinstimmung von pattern mit escape ohne Berücksichtigung der Groß- und Kleinschreibung vorliegt.

Syntax

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

Argumente

  • str: Ein STRING Ausdruck in UTF8_BINARY oder UTF8_LCASE Kollation.

  • pattern: Ein STRING Ausdruck.

  • escape: Ein einzelnes Zeichenliteral STRING .

  • ANY oder SOME oder ALL:

    Wenn ALL angegeben wird, gibt [NOT] ilike true zurück, wenn str mit allen Mustern übereinstimmt (oder nicht übereinstimmt). Andernfalls oder wenn ANY oder SOME angegeben ist, gibt [NOT] true zurück, wenn str mindestens einem Muster entspricht (oder nicht entspricht).

Gibt zurück

Ein BOOLEAN.

Das Muster ist eine Zeichenfolge, die mit Ausnahme der folgenden Sonderzeichen genau übereinstimmt, wobei die Groß- und Kleinschreibung keine Rolle spielt:

  • _ 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 und ohne Berücksichtigung der Groß- und Kleinschreibung 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 ilike ... entspricht NOT(str ilike ...).

Beispiele

> 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