Cómo replicar una cadena una cantidad específica de veces con REPLICATE en SQL Server
Resumen: en este tutorial, aprenderás a usar la función REPLICATE() de SQL Server para replicar una cadena una cantidad específica de veces.
Introducción a la función REPLICATE() de SQL Server
La función REPLICATE() repite una cadena un número específico de veces. Su sintaxis es sencilla de la siguiente manera:
REPLICATE(input_string, count);
En esta sintaxis:
- input_string es una expresión que se evalúa como un valor de tipo carácter o binario.
- count es el número de veces que input_string se repetirá en la cadena de resultados.
Ejemplos de funciones de SQL Server REPLICATE()
Veamos algunos ejemplos del uso de la función REPLICATE().
A) Usar la función REPLICATE() de SQL Server para repetir una cadena literal
Este ejemplo usa la función REPLICATE() para repetir el carácter z tres veces:
SELECT
REPLICATE('z',3) result;
Resultado:
result
------
zzz
(1 row affected)
B) Usando la función REPLICATE() en una tabla SQL Server
Primero, crea una nueva tabla llamada spare_parts en el esquema production:
CREATE TABLE production.spare_parts (
part_id INT IDENTITY PRIMARY KEY,
part_no VARCHAR(10) NOT NULL UNIQUE,
description VARCHAR(50) NOT NULL
);
Supongamos que part_no siempre debe tener 10 caracteres. Si un registro tiene menos de 10 caracteres, la aplicación debe rellenar los ceros iniciales para que la longitud de part_no siempre tenga 10 caracteres.
En segundo lugar, inserta algunos valores en la tabla production.spare_parts:
INSERT INTO
production.spare_parts(part_no, description)
VALUES
('FRMTUBE','Frame Tube'),
('CHNCO','Chain Cover'),
('CRKS','Cranks');
En tercer lugar, selecciona los datos de la tabla production.spare_parts y complete con ceros a la izquierda usando la función REPLICATE():
SELECT
part_id,
CONCAT(
REPLICATE('0', 10 - LEN(part_no)),
part_no
) part_no,
description
FROM
production.spare_parts;
Resultado:

En este ejemplo:
Primero, usa la función LEN() para calcular el número de ceros que se rellenarán:
10 - LEN(part_no)
En segundo lugar, use la función REPLICATE() para replicar los ceros necesarios para rellenar:
REPLICATE('0', 10 - LEN(part_no)
En tercer lugar, utilice la función CONCAT() para rellenar con ceros a la izquierda:
CONCAT(
REPLICATE('0', 10 - LEN(part_no)),
part_no
) part_no
En este tutorial, aprendiste a usar la función REPLICATE() de SQL Server para replicar una cadena una cantidad específica de veces.
