En SQL Server, el T-SQL REPLICATE()
La función repite un valor de cadena un número específico de veces y devuelve el resultado.
La función acepta dos argumentos; la cadena de entrada y el número de veces que debe repetirse.
Sintaxis
La sintaxis es así:
REPLICATE ( string_expression ,integer_expression )
Donde expresión_cadena es la cadena de entrada. Esto puede ser un carácter o datos binarios.
Y expresión_entera es un número entero que especifica cuántas veces repetir la cadena de entrada. Puede ser de cualquier tipo entero, incluido bigint .
Tenga en cuenta que si el primer argumento no es del tipo varchar(max) o nvarchar(máximo) , la función trunca el valor devuelto en 8000 bytes. Para devolver valores superiores a 8000 bytes, el primer argumento debe convertirse explícitamente en el tipo de datos de valor grande apropiado.
Ejemplo 1:uso básico
He aquí un ejemplo de cómo funciona:
SELECT REPLICATE('Dog', 3) AS Result;
Resultado:
+-----------+ | Result | |-----------| | DogDogDog | +-----------+
Ejemplo 2:agregar un espacio
También podemos añadir un espacio al ejemplo anterior:
SELECT REPLICATE('Dog', 3) AS Result;
Resultado:
+--------------+ | Result | |--------------| | Dog Dog Dog | +--------------+
Aunque tenga en cuenta que esto también agregará un espacio al final de la cadena.
Podríamos usar el TRIM()
función para superar esto:
SELECT TRIM(REPLICATE('Dog ', 3)) AS Result;
Resultado:
+-------------+ | Result | |-------------| | Dog Dog Dog | +-------------+
Tal vez el siguiente ejemplo lo haga más evidente:
SELECT REPLICATE('Dog ', 3) + '.' AS 'Untrimmed', TRIM(REPLICATE('Dog ', 3)) + '.' AS 'Trimmed';
Resultado:
+---------------+--------------+ | Untrimmed | Trimmed | |---------------+--------------| | Dog Dog Dog . | Dog Dog Dog. | +---------------+--------------+
Ejemplo 3:Recuento de replicaciones no válido
Si el segundo argumento es un valor negativo, NULL
se devuelve:
SELECT REPLICATE('Dog', -3) AS Result;
Resultado:
+----------+ | Result | |----------| | NULL | +----------+
Ejemplo 4:un ejemplo de base de datos
Este es un ejemplo de replicación de datos de una base de datos:
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 | +----------------------------------------------------+