REPLICATE (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲
將字串值重複指定的次數。
語法
REPLICATE ( string_expression , integer_expression )
引數
string_expression
這是字元字串或二進位資料類型的運算式。
注意
若 string_expression 是 binary 類型,則 REPLICATE 將會隱含轉換為 varchar,且因此不會保留二進位輸入。
注意
如果string_expression輸入不是 varchar(max) 或 nvarchar(max)類型,REPLICATE 會將傳回值截斷為 8,000 個字節。 若要傳回大於 8,000 位元組的值,string_expression 必須明確轉換成適當的大數值資料類型。
integer_expression
這是任何整數類型的運算式,包括 bigint。 如果 integer_expression 是負數,則會傳回 Null。
傳回型別
傳回與 string_expression相同的類型。
範例
A. 使用 REPLICATE
下列範例會在 AdventureWorks2022 資料庫中生產線程式代碼前面復 0
寫四次字元。
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
結果集如下所示。
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 和 DATALENGTH
下列範例會在數值資料類型轉換成字元或 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
結果集如下所示。
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
C.使用 REPLICATE
下列範例會在 ItemCode
值前面重複 0
字元四次。
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
以下是結果集中的第一個資料列。
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
另請參閱
SPACE (Transact-SQL)
資料類型 (Transact-SQL)
字串函數 (Transact-SQL)