LPAD

La función LPAD rellena una cadena por la izquierda con un carácter o texto específico hasta alcanzar la longitud deseada.

Sintaxis

LPAD(cadena, longitud, relleno)
  • cadena: texto original
  • longitud: longitud total deseada
  • relleno: carácter(es) para rellenar

Ejemplo básico

SELECT LPAD('42', 5, '0') AS resultado;
resultado
00042
SELECT LPAD('MySQL', 10, '*') AS resultado;
resultado
*****MySQL

Formatear IDs con ceros

SELECT
    id,
    LPAD(id, 6, '0') AS id_formateado
FROM productos
LIMIT 5;
idid_formateado
1000001
2000002
3000003
4000004
5000005

Códigos de pedido

SELECT
    id,
    CONCAT('PED-', LPAD(id, 6, '0')) AS codigo_pedido,
    estado
FROM pedidos
LIMIT 5;
idcodigo_pedidoestado
1PED-000001completado
2PED-000002completado
3PED-000003pendiente
4PED-000004enviado
5PED-000005completado

Relleno con múltiples caracteres

Si el relleno tiene más de un carácter, se repite y trunca:

SELECT LPAD('X', 10, 'ab') AS resultado;
resultado
ababababaX

Si la cadena es más larga que la longitud

LPAD trunca la cadena por la derecha:

SELECT LPAD('MySQL Tutorial', 5, '*') AS resultado;
resultado
MySQL

Alinear precios a la derecha

SELECT
    nombre,
    LPAD(FORMAT(precio, 2), 10, ' ') AS precio_alineado
FROM productos
LIMIT 5;
nombreprecio_alineado
iPhone 15 Pro1,299.99
MacBook Air M21,199.99
AirPods Pro249.99
iPad Air599.99
Apple Watch Series 9399.99

LPAD con NULL

SELECT LPAD(NULL, 5, '0') AS resultado;
resultado
NULL

En el siguiente artículo veremos RPAD para rellenar por la derecha.

Escrito por Eduardo Lázaro