Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein)

RPAD

Füllt eine Zeichenfolge rechts mit Zeichen aus einer anderen Zeichenfolge auf oder füllt einen Binärwert rechts mit Bytes aus einem anderen Binärwert auf.

Das Argument (Basis) wird mit Zeichen/Bytes aus dem Argument Auffüllen auf die Länge Längenausdruck aufgefüllt.

Syntax

RPAD(<base>, <length_expr> [, <pad>])

Argumente

Basis

Dies muss ein VARCHAR- oder BINARY-Wert sein.

Längenausdruck

Die Länge muss ein Ausdruck sein, der zu einer Ganzzahl ausgewertet wird. Es muss angeben:

  • Die Anzahl der zurückzugebenden UTF-8 Zeichen, wenn die Eingabe VARCHAR lautet.

  • Die Anzahl der zurückzugebenden Bytes, wenn die Eingabe BINARY ist.

Auffüllen

Dies muss ein VARCHAR- oder BINARY-Wert sein. Der Typ muss mit dem Datentyp des Parameters Basis übereinstimmen. Zeichen (oder Bytes) aus diesem Parameter werden zum Auffüllen der Basis verwendet.

Rückgabewerte

Der Datentyp des zurückgegebenen Wertes entspricht dem Datentyp des Eingabewerts Basis (BINARY oder VARCHAR).

Nutzungshinweise

  • Wenn das Basis-Argument länger als Längenausdruck ist, wird es auf die Länge Längenausdruck gekürzt.

  • Das Auffüllen-Argument kann mehrere Zeichen/Bytes lang sein. Das Auffüllen-Argument wird im Ergebnis wiederholt, bis die gewünschte Länge Längenausdruck erreicht ist. Alle überflüssigen Zeichen/Bytes im Auffüllen-Argument werden abgeschnitten. Wenn das Auffüllen-Argument leer ist, werden keine Zeichen zum Auffüllen eingefügt. Das Ergebnis wird jedoch trotzdem auf die Länge Längenausdruck gekürzt.

  • Wenn Basis eine Zeichenfolge ist, ist die standardmäßige Auffüllen-Zeichenfolge „ “ (ein einzelnes Leerzeichen). Wenn Basis ein Binärwert ist, muss das Auffüllen-Argument explizit angegeben werden.

Sortierungsdetails

  • Sortierung gilt für VARCHAR-Eingaben. Sortierung gilt nicht, wenn der Eingabedatentyp des ersten Parameters BINARY ist.

  • No impact. Obwohl Sortierungen syntaktisch akzeptiert werden, haben sie keine Auswirkungen auf die Verarbeitung. Beispielsweise zählen Sprachen mit zwei- und dreistelligen Buchstaben (z. B. „dzs“ im Ungarischen, „ch“ im Tschechischen) weiterhin zwei oder drei Zeichen (nicht ein Zeichen) für das Längenargument.

  • The collation of the result is the same as the collation of the input. Dies kann nützlich sein, wenn der zurückgegebene Wert als Teil verschachtelter Funktionsaufrufe an eine andere Funktion übergeben wird.

  • Derzeit können die Basis- und Auffüllen-Argumente in Snowflake unterschiedliche Sortierungsspezifizierer haben. Die einzelnen Sortierungsspezifizierer können jedoch nicht beide beibehalten werden, da der zurückgegebene Wert nur einen Sortierungsspezifizierer enthält. Snowflake empfiehlt Kunden, die Verwendung von Auffüllen-Zeichenfolgen zu vermeiden, deren Sortierung von der Basis-Zeichenfolge abweicht.

Beispiele

SELECT RPAD('123.50', 20, '*-') FROM dual;

--------------------------+
 RPAD('123.50', 20, '*-') |
--------------------------+
 123.50*-*-*-*-*-*-*-     |
--------------------------+