View a markdown version of this page

Funciones LPAD y RPAD - Amazon Redshift

Amazon Redshift dejará de admitir la creación de UDF de Python después del 30 de junio de 2026. Empezaremos a aplicarlo por fases. Para obtener más información sobre los detalles del fin de vida de Python y las opciones de migración, consulte la entrada del blog que se publicó el 30 de junio de 2025.

Funciones LPAD y RPAD

Estas funciones anteponen o anexan caracteres a una cadena, según una longitud especificada.

Sintaxis

LPAD(string1, length, [ string2 ])
RPAD(string1, length, [ string2 ])

Argumentos

string1

Una cadena CHAR, una cadena VARCHAR o una expresión que se evalúe de forma implícita como un tipo CHAR o VARCHAR.

length

Un valor entero que define la longitud del resultado de la función. La longitud de una cadena se basa en la cantidad de caracteres, no bytes, por lo que los caracteres multibyte se cuentan como caracteres simples. Si string1 (cadena1) tiene una longitud mayor que la especificada, se trunca (a la derecha). Si el valor de longitud es cero o un número negativo, el resultado de la función es una cadena vacía.

string2 (cadena2

(Opcional) Uno o varios caracteres que se anteponen o anexan a string1. Si este argumento no se especifica, se utilizan espacios.

Tipo de retorno

VARCHAR

Ejemplos

En los siguientes ejemplos se utilizan datos de la tabla EVENT en la base de datos de ejemplo TICKIT. Para obtener más información, consulte Base de datos de muestra.

Para truncar un conjunto especificado de nombres de eventos a 20 caracteres y anteponer espacios a los nombres más cortos, use el siguiente ejemplo.

SELECT LPAD(eventname, 20) FROM event WHERE eventid BETWEEN 1 AND 5 ORDER BY 1; +---------------------+ | lpad | +---------------------+ | Salome | | Il Trovatore | | Boris Godunov | | Gotterdammerung | |La Cenerentola (Cind | +-----------------------+

Para truncar el mismo conjunto de nombres de eventos a 20 caracteres, pero anexar los nombres más cortos con 0123456789, use el siguiente ejemplo.

SELECT RPAD(eventname, 20,'0123456789') FROM event WHERE eventid BETWEEN 1 AND 5 ORDER BY 1; +----------------------+ | rpad | +----------------------+ | Boris Godunov0123456 | | Gotterdammerung01234 | | Il Trovatore01234567 | | La Cenerentola (Cind | | Salome01234567890123 | +----------------------+