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.
Wiederholt einen Zeichenfolgenwert mit einer angegebenen Anzahl.
Transact-SQL-Syntaxkonventionen
Syntax
REPLICATE ( string_expression ,integer_expression )
Argumente
string_expression
Dies ist ein Ausdruck eines Zeichenfolgen- oder binären Datentyps. string_expression kann aus Zeichen oder aus binären Daten bestehen.
Hinweis:Wenn string_expression nicht vom Datentyp varchar(max) oder nvarchar(max) ist, schneidet REPLICATE den Rückgabewert bei 8.000 Bytes ab. Für die Rückgabe von Werten über 8.000 Bytes muss string_expression explizit in den entsprechenden Datentyp mit umfangreichen Werten umgewandelt werden.
- integer_expression
Ein Ausdruck eines beliebigen integer-Typs, einschließlich bigint.. Wenn integer_expression negativ ist, wird NULL zurückgegeben.
Rückgabetypen
Gibt denselben Typ zurück wie string_expression.
Hinweise
Kompatibilitätsgrade können sich auf Rückgabewerte auswirken. Weitere Informationen finden Sie unter sp_dbcmptlevel.
Beispiele
A. Verwenden von REPLICATE
Im folgenden Beispiel wird ein 0-Zeichen viermal vor einem Produktionszeilencode in der AdventureWorks-Datenbank repliziert.
USE AdventureWorks
GO
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name]
GO
Dies ist das Resultset.
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.
USE AdventureWorks;
GO
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')
INSERT INTO t1 VALUES ('37', '37')
INSERT INTO t1 VALUES ('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
Siehe auch
Verweis
Datentypen (Transact-SQL)
Zeichenfolgenfunktionen (Transact-SQL)