Dela via


like operatör

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime

Returnerar true om str matchar pattern med escape.

Syntax

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

Argument

  • str: Ett STRING-uttryck.

  • pattern: Ett STRING-uttryck.

  • escape: En strängliteral med ett tecken.

  • ANYeller SOME :ALL

    Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime

    Om ALL anges like returneras true om str det matchar alla mönster, annars returneras true om det matchar minst ett mönster.

Returer

En BOOLEAN.

Mönstret är en sträng som matchas bokstavligen, med undantag för följande specialsymboler:

  • _ matchar ett tecken i indata (liknar . i posix reguljära uttryck)
  • % matchar noll eller fler tecken i indata (liknar .* i posix reguljära uttryck).

Standardutrymningstecknet '\'är . Om ett escape-tecken föregår en särskild symbol eller ett annat escape-tecken matchas följande tecken bokstavligen. Det är ogiltigt om du vill undvika andra tecken.

När du använder literaler använder du raw-literal (r prefix) för att undvika förbearbetning av escape-tecken.

str NOT like ... motsvarar NOT(str like ...).

Exempel

> 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