적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
지정한 횟수만큼 문자열 값을 반복합니다.
구문
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 사용
다음 예시는 AdventureWorks2025 데이터베이스의 생산 라인 코드 앞에 캐릭터를 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 사용
다음 예에서는 숫자 데이터 형식을 문자 또는 유니코드로 변환할 때 지정한 길이까지 0으로 왼쪽을 채웁니다.
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 및 분석 플랫폼 시스템(PDW)
C: REPLICATE 사용
다음 예에서는 0 값 앞의 ItemCode 문자를 4번 복제합니다.
-- 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)