Categorias:

Funções de cadeia de caracteres e binários (General)

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>])
Copy

Argumentos

base

Este deve ser um valor VARCHAR ou BINARY.

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 ou BINARY. O tipo deve corresponder ao tipo de dados do parâmetro base. Os caracteres (ou bytes) deste parâmetro são usados para preencher o base.

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 que length_expr, ele é truncado no comprimento length_expr.

  • O argumento pad pode ser de múltiplos caracteres/bytes. O argumento pad é repetido no resultado até atingir a extensão desejada length_expr, truncando quaisquer caracteres/bytes supérfluos no argumento pad. Se o argumento pad estiver vazio, nenhum preenchimento é inserido, mas o resultado ainda é truncado no comprimento length_expr.

  • Quando base é uma cadeia de caracteres, o padrão da cadeia de caracteres pad é ‘ ’ (um único espaço em branco). Quando base é um valor binário, o argumento pad 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 for BINARY.

  • 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 e pad 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 caracteres pad que tenham um agrupamento diferente da cadeia de caracteres base.

Exemplos

SELECT RPAD('123.50', 20, '*-') FROM dual;

--------------------------+
 RPAD('123.50', 20, '*-') |
--------------------------+
 123.50*-*-*-*-*-*-*-     |
--------------------------+
Copy