In SQL Server das T-SQL REPLICATE()
Die Funktion wiederholt einen Zeichenfolgenwert eine bestimmte Anzahl von Malen und gibt das Ergebnis zurück.
Die Funktion akzeptiert zwei Argumente; die Eingabezeichenfolge und die Anzahl der Wiederholungen.
Syntax
Die Syntax lautet wie folgt:
REPLICATE ( string_expression ,integer_expression )
Wobei string_expression ist die Eingabezeichenfolge. Dies können entweder Zeichen- oder Binärdaten sein.
Und Ganzzahl_Ausdruck ist eine Ganzzahl, die angibt, wie oft die Eingabezeichenfolge wiederholt werden soll. Dies kann ein beliebiger ganzzahliger Typ sein, einschließlich bigint .
Beachten Sie, dass das erste Argument nicht vom Typ varchar(max) ist oder nvarchar(max) , schneidet die Funktion den Rückgabewert bei 8.000 Bytes ab. Um Werte größer als 8.000 Byte zurückzugeben, muss das erste Argument explizit in den entsprechenden Datentyp mit großen Werten umgewandelt werden.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel dafür, wie es funktioniert:
SELECT REPLICATE('Hund', 3) AS Ergebnis;
Ergebnis:
+-----------+| Ergebnis ||-----------|| HundHundHund |+-----------+
Beispiel 2 – Leerzeichen hinzufügen
Wir können dem vorherigen Beispiel auch ein Leerzeichen hinzufügen:
SELECT REPLICATE('Hund ', 3) AS Ergebnis;
Ergebnis:
+--------------+| Ergebnis ||--------------|| Hund Hund Hund |+---------------------+
Beachten Sie jedoch, dass dadurch auch ein Leerzeichen am Ende der Zeichenfolge hinzugefügt wird.
Wir könnten TRIM()
verwenden Funktion, um dies zu überwinden:
SELECT TRIM(REPLICATE('Dog ', 3)) AS Result;
Ergebnis:
+-------------+| Ergebnis ||-------------|| Hund Hund Hund |+---------------------+
Vielleicht macht das folgende Beispiel dies deutlicher:
SELECT REPLICATE('Hund ', 3) + '.' AS 'ungetrimmt', TRIM(REPLICATE('Hund ', 3)) + '.' AS 'Getrimmt';
Ergebnis:
+----------+--------------+| Unbeschnitten | Getrimmt ||---------------+--------------|| Hund Hund Hund. | Hund Hund Hund. |+----------+--------------+
Beispiel 3 – Ungültige Replikationszahl
Wenn das zweite Argument ein negativer Wert ist, NULL
wird zurückgegeben:
SELECT REPLICATE('Hund', -3) AS Ergebnis;
Ergebnis:
+----------+| Ergebnis ||----------|| NULL |+----------+
Beispiel 4 – Ein Datenbankbeispiel
Hier ist ein Beispiel für die Replikation von Daten aus einer Datenbank:
SELECT TOP(3) TRIM(REPLICATE(ArtistName + ' ', 3)) AS ResultFROM Artists;
Ergebnis: