split işlev

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

str etrafında, regex ile eşleşen oluşumları böler ve uzunluğu en fazla limit olan bir dizi döndürür.

Söz dizimi

split(str, regex [, limit] )

Argümanlar

  • str: Bölünecek bir STRING ifadesi.
  • regexp STRING: öğesini bölen strnormal bir ifadedir. Desteklenen söz dizimi için bkz. Normal ifadeler .
  • limit: Varsayılan olarak 0 olan isteğe bağlı bir INTEGER ifadesi (sınır yok).

İadeler

Bir ARRAY<STRING>.

0 ise limit> : Sonuçta elde edilen dizinin uzunluğu değerinden limituzun olmaz ve sonuçta elde edilen dizinin son girdisi, eşleşen son regexdizinin dışındaki tüm girişleri içerir.

If limit<= 0: regex mümkün olduğunca çok kez uygulanır ve sonuçta elde edilen dizi herhangi bir boyutta olabilir.

Örnekler

Sınırlayıcı karakter kümesine bölme

Karakter sınıfı [ABC] herhangi bir A, Bveya C sınırlayıcı olarak eşleşir. Sondaki boş öğe, dizenin sonundaki sınırlayıcıdan gelir.

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

Virgülle ayrılmış dizeyi bölme

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

Bir veya daha fazla boşluk karakterine bölme

Bir boşluk veya sekme çalıştırmasının tek bir sınırlayıcı gibi davranması için kullanın \s+ .

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

Öğe sayısını sınırlama

0'dan büyük olduğunda limit , son öğe dizenin kalan kısmını tutar.

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

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

Harmanlama eşleştirmeyi etkiler

Küçük harf deseni [abc] büyük/küçük harf sınırlayıcılarını yalnızca büyük/küçük harfe duyarlı olmayan harmanlama altında eşleştirir.

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

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