Cadenas

RPAD

Rellena una cadena por la derecha hasta la longitud que necesites.

Sintaxis

RPAD(<texto>, <longitud>)
RPAD(<texto>, <longitud>, <relleno>)

Añade caracteres al final hasta que la cadena alcance la longitud necesaria; sin el tercer argumento, espacios. Su contraparte es LPAD, que rellena por la izquierda. Se usa a menudo para alinear texto en una columna o completar un código hasta una longitud fija.

Datos para los ejemplos

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Estas tablas ya están creadas en el entorno de pruebas y los ejemplos de abajo las usan. ¿Quieres repetirlo en tu propia base de datos? Copia el SQL.

Rellenar por la derecha
SELECT RPAD('7', 4, '0') AS zeros,
RPAD('ab', 5, '.') AS dots;
zerosdots
7000ab...
Nombres y salarios en columna
SELECT RPAD(name, 8, '.') || salary AS line
FROM employees;
line
Emma....1200
Liam....1000
Olivia..1350
Noah....950
Sophia..1200

Cada nombre se rellena con puntos hasta 8 caracteres, así que los salarios quedan alineados, como los números de página en un índice.

Una cadena más larga se recorta
SELECT RPAD('PostgreSQL', 4) AS cut;
cut
Post

Ten en cuenta

RPAD recorta una cadena más larga en vez de dejarla como está: RPAD('PostgreSQL', 4) da Post.

Solo acepta texto: RPAD(1, 5, '0') da el error function rpad(integer, integer, unknown) does not exist. Convierte el tipo: RPAD(id::text, 5, '0').

Los espacios del final del resultado no se ven en la tabla, pero están: RPAD('ab', 5) es ab y tres espacios más.

Funciones relacionadas