- Categorias:
RPAD¶
Faz um preenchimento direito (Right Padding) em uma cadeia de caracteres, com caracteres de outra cadeia, ou faz um preenchimento direito em um valor binário, com bytes de outro valor binário.
O argumento (base
) é preenchido ao comprimento length_expr
com caracteres/bytes do argumento pad
.
Sintaxe¶
RPAD(<base>, <length_expr> [, <pad>])
Argumentos¶
base
Este deve ser um valor
VARCHAR
ouBINARY
.length_expr
O comprimento deve ser uma expressão que avalia como um número inteiro. Deve especificar:
O número de caracteres UTF-8 a retornar se a entrada for
VARCHAR
.O número de bytes a retornar se a entrada for
BINARY
.
pad
Este deve ser um valor
VARCHAR
ouBINARY
. O tipo deve corresponder ao tipo de dados do parâmetrobase
. Os caracteres (ou bytes) deste parâmetro são usados para preencher obase
.
Retornos¶
O tipo de dados do valor retornado é o mesmo que o tipo de dados do valor de entrada base
(BINARY
ou VARCHAR
).
Notas de uso¶
Se o argumento
base
for mais longo quelength_expr
, ele é truncado no comprimentolength_expr
.O argumento
pad
pode ser de múltiplos caracteres/bytes. O argumentopad
é repetido no resultado até atingir a extensão desejadalength_expr
, truncando quaisquer caracteres/bytes supérfluos no argumentopad
. Se o argumentopad
estiver vazio, nenhum preenchimento é inserido, mas o resultado ainda é truncado no comprimentolength_expr
.Quando
base
é uma cadeia de caracteres, o padrão da cadeia de caracterespad
é ‘ ’ (um único espaço em branco). Quandobase
é um valor binário, o argumentopad
deve ser fornecido explicitamente.
Detalhes do agrupamento¶
O agrupamento se aplica às entradas
VARCHAR
. O agrupamento não se aplica se o tipo de dados de entrada do primeiro parâmetro forBINARY
.No impact. Embora o agrupamento seja aceito sintaticamente, os agrupamentos não têm impacto no processamento. Por exemplo, idiomas com letras de dois e três caracteres (por exemplo, «dzs» em húngaro, «ch» em tcheco) ainda contam esses como dois ou três caracteres (não um caractere) para o argumento da extensão.
The collation of the result is the same as the collation of the input. Isso pode ser útil se o valor retornado for passado para outra função como parte de chamadas de funções aninhadas.
Atualmente, o Snowflake permite que os argumentos
base
epad
tenham diferentes especificadores de agrupamento. Entretanto, os especificadores de agrupamento individuais não podem ser mantidos porque o valor retornado terá apenas um especificador de agrupamento. Snowflake recomenda que os usuários evitem o uso de cadeias de caracterespad
que tenham um agrupamento diferente da cadeia de caracteresbase
.
Exemplos¶
SELECT RPAD('123.50', 20, '*-') FROM dual;
--------------------------+
RPAD('123.50', 20, '*-') |
--------------------------+
123.50*-*-*-*-*-*-*- |
--------------------------+