like Üzemeltető

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Igaz értéket ad vissza, ha str megegyezik pattern a következővel escape: .

Syntax

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

Argumentumok

  • str: KARAKTERLÁNC-kifejezés.

  • pattern: KARAKTERLÁNC-kifejezés.

  • escape: Egy karakteres SZTRING-literál.

  • ANYALLvagySOME:

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

    Ha ALL meg van adva, akkor like az összes mintának megfelelő értéket adja vissza truestr , ellenkező esetben akkor, true ha legalább egy mintával egyezik.

Válaszok

A BOOLEAN.

A minta egy sztring, amely szó szerint megfelel a következő speciális szimbólumok kivételével:

  • _ egy tetszőleges karakternek felel meg a bemenetben (hasonló a POSIX reguláris kifejezéseihez . )
  • % nulla vagy több karakternek felel meg a bemenetben (hasonló a POSIX reguláris kifejezéseihez .* ).

Az alapértelmezett feloldó karakter a '\'. Ha egy feloldó karakter egy speciális szimbólumot vagy egy másik escape karaktert előz meg, a következő karakter szó szerint megegyezik. Érvénytelen a többi karakter kimenekülése.

Konstansok használata esetén használja raw-literal a (r prefix) előtagot a feloldó karakterek előfeldolgozásának elkerüléséhez.

str NOT like ...egyenértékű a .-nak.NOT(str like ...)

Példák

> 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