Funções LPAD e RPAD
Essas funções inserem caracteres no início ou final de uma string com base em um comprimento especificado.
Sintaxe
LPAD(string1, length, [ string2 ])
RPAD(string1, length, [ string2 ])
Argumentos
- string1
-
Uma string
CHAR
, uma stringVARCHAR
ou uma expressão que é avaliada implicitamente como um tipoCHAR
ouVARCHAR
. - length
-
Um inteiro que define o comprimento dos resultados da função. O comprimento de uma string é baseado no número de caracteres, e não bytes, de forma que caracteres multibyte são contados como caracteres simples. Se string1 for mais longa que o comprimento especificado, ela será truncada (à direita). Se length for zero ou um número negativo, o resultado da função será uma string vazia.
- string2
-
(Opcional) Um ou mais caracteres inseridos no início ou no fim da string1. Se esse argumento não é especificado, são usados espaços.
Tipo de retorno
VARCHAR
Exemplos
Os exemplos a seguir usam dados da tabela EVENT do banco de dados de amostra TICKIT. Para ter mais informações, consulte Banco de dados de exemplo.
Para truncar um conjunto específico de nomes de eventos para 20 caracteres e inserir espaços no início dos nomes mais curtos, use o exemplo a seguir.
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 o mesmo conjunto de nomes de eventos para 20 caracteres, mas inserir 0123456789
no início dos nomes mais curtos, use o exemplo a seguir.
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 | +----------------------+