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.