Die Funktion SPLIT_PART - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Funktion SPLIT_PART

Teilt eine Zeichenfolge am angegebenen Trennzeichen und gibt den Teil an der angegebenen Position zurück.

Syntax

SPLIT_PART(string, delimiter, position)

Argumente

string

Eine Zeichenfolgenspalte, ein Ausdruck oder ein Zeichenfolgenliteral, die/der/das geteilt werden soll. Die Zeichenfolge kann CHAR oder VARCHAR sein.

delimiter

Die Trennzeichen-Zeichenfolge, die Abschnitte des Eingabe-string angibt.

Wenn delimiter ein Literal ist, schließen Sie es in einfache Anführungszeichen ein.

position

Position des string-Abschnitts, der zurückgegeben werden soll (gezählt ab 1). Es muss sich um eine Ganzzahl größer als 0 handeln. Wenn position größer als die Anzahl der Zeichenfolgenabschnitte ist, gibt SPLIT_PART eine leere Zeichenfolge zurück. Wenn delimiter nicht in string gefunden wird, enthält der zurückgegebene Wert den Inhalt des angegebenen Teils. Dabei kann es sich um die gesamte Zeichenfolge oder einen leeren Wert handeln.

Rückgabetyp

Eine CHAR- oder VARCHAR-Zeichenfolge, identisch mit dem Parameter string.

Beispiele

Im folgenden Beispiel wird ein Zeichenfolgenliteral mithilfe des Trennzeichens $ in Teile aufgeteilt und der zweite Teil zurückgegeben.

select split_part('abc$def$ghi','$',2) split_part ---------- def

Im folgenden Beispiel wird ein Zeichenfolgenliteral mithilfe des Trennzeichens $ in Teile aufgeteilt. Es wird eine leere Zeichenfolge zurückgegeben, da der Teil 4 nicht gefunden wurde.

select split_part('abc$def$ghi','$',4) split_part ----------

Im folgenden Beispiel wird ein Zeichenfolgenliteral mithilfe des Trennzeichens # in Teile aufgeteilt. Da das Trennzeichen nicht gefunden wurde, wird die gesamte Zeichenfolge zurückgegeben, wobei es sich um den ersten Teil handelt.

select split_part('abc$def$ghi','#',1) split_part ------------ abc$def$ghi

Im folgenden Beispiel wird das Zeitstempelfeld LISTTIME in die Komponenten Jahr, Monat und Datum aufgeteilt.

select listtime, split_part(listtime,'-',1) as year, split_part(listtime,'-',2) as month, split_part(split_part(listtime,'-',3),' ',1) as day from listing limit 5; listtime | year | month | day ---------------------+------+-------+------ 2008-03-05 12:25:29 | 2008 | 03 | 05 2008-09-09 08:03:36 | 2008 | 09 | 09 2008-09-26 05:43:12 | 2008 | 09 | 26 2008-10-04 02:00:30 | 2008 | 10 | 04 2008-01-06 08:33:11 | 2008 | 01 | 06

Im folgenden Beispiel wird das Zeitstempelfeld LISTTIME ausgewählt und am Zeichen '-' getrennt, um den Monat zu erhalten (den zweiten Teil der Zeichenfolge LISTTIME). Anschließend wird die Zahl der Einträge für jeden Monat gezählt:

select split_part(listtime,'-',2) as month, count(*) from listing group by split_part(listtime,'-',2) order by 1, 2; month | count -------+------- 01 | 18543 02 | 16620 03 | 17594 04 | 16822 05 | 17618 06 | 17158 07 | 17626 08 | 17881 09 | 17378 10 | 17756 11 | 12912 12 | 4589