No SQL Server, o T-SQL
REPLICATE()
A função repete um valor de string um número especificado de vezes e retorna o resultado. A função aceita dois argumentos; a string de entrada e o número de vezes que ela deve ser repetida.
Sintaxe
A sintaxe fica assim:
REPLICATE ( string_expression ,integer_expression )
Onde string_expression é a cadeia de entrada. Isso pode ser caractere ou dados binários.
E integer_expression é um inteiro que especifica quantas vezes repetir a string de entrada. Isso pode ser qualquer tipo inteiro, incluindo bigint .
Observe que se o primeiro argumento não for do tipo varchar(max) ou nvarchar(max) , a função trunca o valor de retorno em 8.000 bytes. Para retornar valores maiores que 8.000 bytes, o primeiro argumento deve ser convertido explicitamente para o tipo de dados de valor grande apropriado.
Exemplo 1 – Uso básico
Veja um exemplo de como funciona:
SELECT REPLICATE('Dog', 3) AS Result;
Resultado:
+-----------+ | Result | |-----------| | DogDogDog | +-----------+
Exemplo 2 – Adicionar um espaço
Também podemos adicionar um espaço ao exemplo anterior:
SELECT REPLICATE('Dog ', 3) AS Result;
Resultado:
+--------------+ | Result | |--------------| | Dog Dog Dog | +--------------+
Embora observe que isso também adicionará um espaço no final da string.
Poderíamos usar o
TRIM()
função para superar isso:SELECT TRIM(REPLICATE('Dog ', 3)) AS Result;
Resultado:
+-------------+ | Result | |-------------| | Dog Dog Dog | +-------------+
Talvez o exemplo a seguir torne isso mais aparente:
SELECT REPLICATE('Dog ', 3) + '.' AS 'Untrimmed', TRIM(REPLICATE('Dog ', 3)) + '.' AS 'Trimmed';
Resultado:
+---------------+--------------+ | Untrimmed | Trimmed | |---------------+--------------| | Dog Dog Dog . | Dog Dog Dog. | +---------------+--------------+
Exemplo 3 – Contagem de replicação inválida
Se o segundo argumento for um valor negativo,
NULL
é retornado:SELECT REPLICATE('Dog', -3) AS Result;
Resultado:
+----------+ | Result | |----------| | NULL | +----------+
Exemplo 4 – Um exemplo de banco de dados
Aqui está um exemplo de replicação de dados de um banco de dados:
SELECT TOP(3) TRIM(REPLICATE(ArtistName + ' ', 3)) AS Result FROM Artists;
Resultado:
+----------------------------------------------------+ | Result | |----------------------------------------------------| | Iron Maiden Iron Maiden Iron Maiden | | AC/DC AC/DC AC/DC | | Allan Holdsworth Allan Holdsworth Allan Holdsworth | +----------------------------------------------------+