Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Repete um valor de cadeia um número especificado de vezes.
Transact-SQL convenções de sintaxe
Sintaxe
REPLICATE ( string_expression , integer_expression )
Arguments
string_expression
É uma expressão de uma cadeia de caracteres ou de um tipo de dado binário.
Observação
Se string_expression for de tipo binário, REPLICATE realizará uma conversão implícita para varchar e, portanto, não preservará a entrada binária.
Observação
Se string_expression entrada não for do tipo varchar(max) ou nvarchar(max), REPLICATE trunca o valor de retorno em 8.000 bytes. Para devolver valores superiores a 8.000 bytes, string_expression devem ser explicitamente castados para o tipo de dado de grande valor apropriado.
integer_expression
É uma expressão de qualquer tipo inteiro, incluindo bigint. Se integer_expression for negativo, NULL é devoluído.
Tipos de devolução
Devolve o mesmo tipo que string_expression.
Examples
A. Utilização do REPLICATE
O exemplo seguinte replica uma 0 personagem quatro vezes à frente de um código de linha de produção na base de dados AdventureWorks2025.
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine] AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
Aqui está o conjunto de resultados.
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. Utilização de REPLICATE e DATALENGTH
O exemplo seguinte deixou os pads numerados com um comprimento especificado à medida que são convertidos de um tipo de dado numérico para carácter ou 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
Aqui está o conjunto de resultados.
Varchar Column Char Column
-------------------- ------------
002 2
037 37
597 597
(3 row(s) affected)
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Utilização do REPLICATE
O exemplo seguinte replica um 0 carácter quatro vezes à frente de um ItemCode valor.
-- Uses AdventureWorks
SELECT EnglishProductName AS Name,
ProductAlternateKey AS ItemCode,
REPLICATE('0', 4) + ProductAlternateKey AS FullItemCode
FROM dbo.DimProduct
ORDER BY Name;
Aqui estão as primeiras linhas do conjunto de resultados.
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
Ver também
ESPAÇO (Transact-SQL)
Tipos de dados (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL)