Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Herhaalt een stringwaarde een bepaald aantal keren.
Transact-SQL syntaxis-conventies
Syntaxis
REPLICATE ( string_expression , integer_expression )
Arguments
string_expression
Is een uitdrukking van een tekenstring of binair datatype.
Opmerking
Als string_expression van het type binair is, zal REPLICATE een impliciete conversie naar varchar uitvoeren en zal daarom de binaire invoer niet behouden.
Opmerking
Als string_expression invoer niet van het type varchar(max) of nvarchar(max) is, kortert REPLICATE de terugkeerwaarde af op 8.000 bytes. Om waarden groter dan 8.000 bytes terug te geven, moet string_expression expliciet worden gecast naar het juiste datatype met grote waardes.
integer_expression
Is een uitdrukking van elk geheel getaltype, inclusief bigint. Als integer_expression negatief is, wordt NULL teruggegeven.
Retourtypen
Geeft hetzelfde type terug als string_expression.
Voorbeelden
Eén. REPLICATE gebruiken
Het volgende voorbeeld repliceert vier keer een 0 teken voor een productielijncode in de AdventureWorks2025-database.
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
Hier is het resultatenoverzicht.
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. Met REPLICATE en DATALENGTH
Het volgende voorbeeld liet nummers op een bepaalde lengte oppassen terwijl ze worden omgezet van een numeriek datatype naar teken of Unicode.
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 is het resultatenoverzicht.
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
C: REPLICATE gebruiken
Het volgende voorbeeld repliceert een 0 karakter vier keer voor een ItemCode waarde.
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
Hier zijn de eerste rijen in de resultaatset.
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
Zie ook
SPATIE (Transact-SQL)
gegevenstypen (Transact-SQL)
tekenreeksfuncties (Transact-SQL)