Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
str köré osztja az egyező előfordulásokat a regex-vel, és egy legfeljebb limit hosszúságú tömböt ad vissza.
Szintaxis
split(str, regex [, limit] )
Argumentumok
-
str: EgySTRINGkifejezés, amelyet fel kell osztani. -
regexp: OlyanSTRINGkifejezés, amely egy normál, felosztottstrkifejezés. A támogatott szintaxishoz lásd a Reguláris kifejezéseket . -
limit: Nem kötelezőINTEGERkifejezés, amely alapértelmezés szerint 0 (nincs korlát).
Visszatérések
Egy ARRAY<STRING>.
Ha limit> 0: Az eredményként kapott tömb hossza nem lesz több, mint limit, és az eredményként kapott tömb utolsó bejegyzése tartalmazni fog minden bemenetet az utolsó mintával egyező pont után.
Ha limit<= 0: regex a lehető legtöbb alkalommal lesz alkalmazva, és az eredményként kapott tömb bármilyen méretű lehet.
Példák
Elválasztó karakterek halmazának felosztása
A karakterosztály [ABC] egyezik bármelyik A, Bvagy C elválasztó karakterrel. A záró üres elem a sztring végén lévő elválasztóból származik.
> SELECT split('oneAtwoBthreeC', '[ABC]');
[one,two,three,]
Vesszővel elválasztott sztring felosztása
> SELECT split('apple,banana,cherry', ',');
[apple,banana,cherry]
Felosztás egy vagy több szóköz karakterre
Használjon \s+ úgy, hogy a szóközök vagy lapok futtatása egyetlen elválasztóként működjon.
> SELECT split('the quick brown', r'\s+');
[the,quick,brown]
Az elemek számának korlátozása
Ha limit 0-nál nagyobb, az utolsó elem a sztring fennmaradó részét tartalmazza.
> SELECT split('oneAtwoBthreeC', '[ABC]', 2);
[one,twoBthreeC]
> SELECT split('oneAtwoBthreeC', '[ABC]', -1);
[one,two,three,]
A rendezés hatással van az egyeztetésre
A kisbetűs minta [abc] csak kis- és nagybetűk megkülönböztetése esetén egyezik meg a nagybetűkkel.
> SELECT split('oneAtwoBthreeC' COLLATE UTF8_BINARY, '[abc]');
[oneAtwoBthreeC]
> SELECT split('oneAtwoBthreeC' COLLATE UTF8_LCASE, '[abc]');
[one,two,three,]