Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Wiederholt einen Zeichenfolgenwert mit einer angegebenen Anzahl.
Transact-SQL-Syntaxkonventionen
Syntax
REPLICATE ( string_expression , integer_expression )
Argumente
string_expression
Der Ausdruck einer Zeichenfolge oder eines Binärdatentyps.
Hinweis
Wenn string_expression den Typ binary aufweist, führt REPLICATE eine implizite Konvertierung in varchar aus und behält daher die binäre Eingabe nicht bei.
Hinweis
Wenn die string_expression-Eingabe nicht vom Typ varchar(max) oder nvarchar(max) ist, schneidet REPLICATE den Rückgabewert bei 8.000 Byte ab. Für die Rückgabe von Werten über 8.000 Byte muss string_expression explizit in den entsprechenden Datentyp mit umfangreichen Werten umgewandelt werden.
integer_expression
Ein Ausdruck eines beliebigen Integertyps, einschließlich bigint. Wenn integer_expression negativ ist, wird NULL zurückgegeben.
Rückgabetypen
Gibt denselben Typ wie string_expression zurück.
Beispiele
A. Verwenden von REPLICATE
Das folgende Beispiel repliziert ein 0 Zeichen viermal vor einem Produktionsliniencode in der AdventureWorks2025-Datenbank.
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
Hier sehen Sie das Ergebnis.
Name Line Code
-------------------------------------------------- ---------
HL Touring Frame - Blue, 46 0000T
HL Touring Frame - Blue, 50 0000T
HL Touring Frame - Blue, 54 0000T
HL Touring Frame - Blue, 60 0000T
HL Touring Frame - Yellow, 46 0000T
HL Touring Frame - Yellow, 50 0000T
...
B. Verwenden von REPLICATE und DATALENGTH
Im folgenden Beispiel werden die Zahlen von links bis zu einer angegebenen Länge aufgefüllt, während sie aus einem numerischen in einen Zeichen- oder Unicode-Datentyp konvertiert werden.
IF EXISTS(SELECT name FROM sys.tables
WHERE name = 't1')
DROP TABLE t1;
GO
CREATE TABLE t1
(
c1 varchar(3),
c2 char(3)
);
GO
INSERT INTO t1 VALUES ('2', '2'), ('37', '37'),('597', '597');
GO
SELECT REPLICATE('0', 3 - DATALENGTH(c1)) + c1 AS 'Varchar Column',
REPLICATE('0', 3 - DATALENGTH(c2)) + c2 AS 'Char Column'
FROM t1;
GO
Hier sehen Sie das Ergebnis.
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
C: Verwenden von REPLICATE
Im folgenden Beispiel wird ein 0-Zeichen viermal vor einem ItemCode-Wert repliziert.
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
Im Folgenden finden Sie die ersten Reihen eines Resultsets.
Name ItemCode FullItemCode
------------------------ -------------- ---------------
Adjustable Race AR-5381 0000AR-5381
All-Purpose Bike Stand ST-1401 0000ST-1401
AWC Logo Cap CA-1098 0000CA-1098
AWC Logo Cap CA-1098 0000CA-1098
AWC Logo Cap CA-1098 0000CA-1098
BB Ball Bearing BE-2349 0000BE-2349
Weitere Informationen
SPACE (Transact-SQL)
Datentypen (Transact-SQL)
Zeichenfolgenfunktionen (Transact-SQL)