Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Die Funktionen LPAD und RPAD
Diese Funktionen fügen vor oder nach einer Zeichenfolge Zeichen an, basierend auf einer angegebenen Länge.
Syntax
LPAD(string1, length, [ string2 ])
RPAD(string1, length, [ string2 ])
Argumente
- string1
-
Eine
CHAR-Zeichenfolge, eineVARCHAR-Zeichenfolge oder ein Ausdruck, die bzw. der implizit als einCHAR- oderVARCHAR-Typ ausgewertet wird. - length
-
Eine Ganzzahl, die die Länge des Ergebnisses der Funktion definiert. Die Länge einer Zeichenfolge basiert auf der Anzahl der Zeichen, nicht der Bytes. Daher werden Zeichen mit mehreren Bytes als einzelne Zeichen gezählt. Wenn string1 länger als die angegebene Länge ist, wird sie abgeschnitten (rechts). Wenn length null oder eine negative Zahl ist, ist das Ergebnis der Funktion eine leere Zeichenfolge.
- string2
-
(Optional) Ein oder mehrere Zeichen, die vor oder nach string1 angefügt werden. Wenn dieses Argument nicht angegeben wird, werden Leerzeichen verwendet.
Rückgabetyp
VARCHAR
Beispiele
In den folgenden Beispielen werden Daten aus der EVENT-Tabelle in der TICKIT-Beispieldatenbank verwendet. Weitere Informationen finden Sie unter Beispieldatenbank.
Verwenden Sie das folgende Beispiel, um einen angegebenen Satz von Veranstaltungsnamen auf 20 Zeichen zu kürzen und vor den kürzeren Namen Leerzeichen einzufügen.
SELECT LPAD(eventname, 20) FROM event WHERE eventid BETWEEN 1 AND 5 ORDER BY 1;+---------------------+ | lpad | +---------------------+ | Salome | | Il Trovatore | | Boris Godunov | | Gotterdammerung | |La Cenerentola (Cind | +-----------------------+
Verwenden Sie das folgende Beispiel, um denselben Satz von Veranstaltungsnamen auf 20 Zeichen zu kürzen und vor den kürzeren Namen jedoch 0123456789 anzufügen.
SELECT RPAD(eventname, 20,'0123456789') FROM event WHERE eventid BETWEEN 1 AND 5 ORDER BY 1;+----------------------+ | rpad | +----------------------+ | Boris Godunov0123456 | | Gotterdammerung01234 | | Il Trovatore01234567 | | La Cenerentola (Cind | | Salome01234567890123 | +----------------------+