split fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Membagi str di sekitar kemunculan yang cocok dengan regex dan mengembalikan array dengan panjang maksimal limit.

Sintaks

split(str, regex [, limit] )

Argumen

  • str: Ekspresi STRING yang akan dipisahkan.
  • regexp: Ekspresi STRING yang merupakan ekspresi reguler yang memisahkan str. Lihat Ekspresi reguler untuk sintaks yang didukung.
  • limit: Ekspresi opsional INTEGER yang default ke 0 (tanpa batas).

Pengembalian

Sebuah ARRAY<STRING>.

Jika limit> 0: Panjang array yang dihasilkan tidak akan lebih dari limit, dan entri terakhir array yang dihasilkan akan berisi semua input di luar yang terakhir dicocokkan regex.

Jika limit<= 0: regex akan diterapkan sebanyak mungkin, dan larik yang dihasilkan dapat berukuran berapa pun.

Contoh

Pisahkan pada sekumpulan karakter pemisah

Kelas [ABC] karakter cocok dengan salah Asatu , B, atau C sebagai pemisah. Elemen kosong berikutnya berasal dari pemisah di akhir string.

> SELECT split('oneAtwoBthreeC', '[ABC]');
 [one,two,three,]

Memisahkan string yang dipisahkan koma

> SELECT split('apple,banana,cherry', ',');
 [apple,banana,cherry]

Pisahkan pada satu atau beberapa karakter spasi kosong

Gunakan \s+ agar eksekusi spasi atau tab bertindak sebagai pemisah tunggal.

> SELECT split('the   quick  brown', r'\s+');
 [the,quick,brown]

Membatasi jumlah elemen

Ketika limit lebih besar dari 0, elemen akhir memegang sisa string.

> SELECT split('oneAtwoBthreeC', '[ABC]', 2);
 [one,twoBthreeC]

> SELECT split('oneAtwoBthreeC', '[ABC]', -1);
 [one,two,three,]

Kolasasi memengaruhi pencocokan

Pola huruf [abc] kecil cocok dengan pemisah huruf besar hanya di bawah kolase yang tidak peka huruf besar/kecil.

> SELECT split('oneAtwoBthreeC' COLLATE UTF8_BINARY, '[abc]');
 [oneAtwoBthreeC]

> SELECT split('oneAtwoBthreeC' COLLATE UTF8_LCASE, '[abc]');
 [one,two,three,]