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 cadenaVARCHAR
o una expresión que se evalúe de forma implícita como un tipoCHAR
oVARCHAR
. - longitud
-
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 | +----------------------+