like
operátor
A következőkre vonatkozik: Databricks SQL 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.ANY
ALL
vagySOME
:A következőkre vonatkozik: Databricks SQL Databricks Runtime
Ha
ALL
meg van adva, akkorlike
az összes mintának megfelelő értéket adja visszatrue
str
, 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