Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Bir dizi değerini belirli sayıda kez tekrarlar.
Transact-SQL söz dizimi kuralları
Sözdizimi
REPLICATE ( string_expression , integer_expression )
Arguments
string_expression
Bir karakter dizisi veya ikili veri tipinin bir ifadesidir.
Uyarı
Eğer string_expressionikili tipte ise, REPLICATE örtük bir varchar dönüşümü gerçekleştirir ve böylece ikili girdisi korunmaz.
Uyarı
Eğer string_expression girdi varchar(max) veya nvarchar(max) türünde değilse, REPLICATE dönüş değerini 8.000 baytta kısaltır. 8.000 bayttan büyük değerleri döndürmek için string_expression uygun büyük değerli veri tipine açıkça aktarılmalıdır.
integer_expression
Bigint dahil olmak üzere herhangi bir tam sayı türündeki bir ifadedir.
Eğer integer_expression negatif ise, NULL döner.
Dönüş Türleri
string_expression ile aynı tipi döndürüyor.
Örnekler
A. REPLICATE kullanımı
Aşağıdaki örnek, AdventureWorks2025 veritabanında bir karakteri üretim hattı kodunun önünde dört kez çoğaltmaktadır 0 .
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
Sonuç kümesi aşağıdadır.
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. REPLICATE ve DATALENGTH kullanımı
Aşağıdaki örnek, sayısal veri tipinden karaktere veya Unicode'a dönüştürüldükçe padların belirli bir uzunlukta olmasını sağladı.
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
Sonuç kümesi aşağıdadır.
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
C: REPLICATE kullanımı
Aşağıdaki örnek, bir 0 karakteri bir ItemCode değerin önünde dört kez çoğaltmaktadır.
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
İşte sonuç setindeki ilk satırlar.
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
Ayrıca Bkz.
UZAY (Transact-SQL)
Veri Türleri (Transact-SQL)
Dize İşlevleri (Transact-SQL)