REPLIKASI (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Mengulangi nilai untai (karakter) dalam jumlah tertentu.
Sintaks
REPLICATE ( string_expression , integer_expression )
Argumen
string_expression
Adalah ekspresi string karakter atau jenis data biner.
Catatan
Jika string_expression berjenis biner, REPLICATE akan melakukan konversi implisit ke varchar, dan oleh karena itu tidak akan mempertahankan input biner.
Catatan
Jika input string_expression bukan jenis varchar(max) atau nvarchar(max), REPLICATE memotong nilai yang dikembalikan pada 8.000 byte. Untuk mengembalikan nilai yang lebih besar dari 8.000 byte, string_expression harus secara eksplisit ditransmisikan ke jenis data bernilai besar yang sesuai.
integer_expression
Adalah ekspresi dari jenis bilangan bulat apa pun, termasuk bigint. Jika integer_expression negatif, NULL dikembalikan.
Jenis Kembalian
Mengembalikan jenis yang sama dengan string_expression.
Contoh
J. Menggunakan REPLIKASI
Contoh berikut mereplikasi 0
karakter empat kali di depan kode lini produksi dalam database AdventureWorks2022.
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
Berikut set hasilnya.
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. Menggunakan REPLICATE dan DATALENGTH
Contoh berikut meninggalkan angka bantalan ke panjang tertentu saat dikonversi dari jenis data numerik ke karakter atau 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
Berikut set hasilnya.
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Menggunakan REPLIKASI
Contoh berikut mereplikasi 0
karakter empat kali di depan ItemCode
nilai.
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
Berikut adalah baris pertama dalam tataan hasil.
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
Lihat Juga
SPACE (Transact-SQL)
Tipe Data (Transact-SQL)
Fungsi String (Transact-SQL)