LPAD 和 RPAD 函数 - Amazon Redshift

LPAD 和 RPAD 函数

这些函数根据指定长度在字符串前面或后面追加字符。

语法

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

参数

string1

CHAR 字符串、VARCHAR 字符串或隐式计算为 CHARVARCHAR 类型的表达式。

length

一个用于定义函数结果的长度的整数。字符串的长度基于字符数而不是字节数,这是为了将多字节字符作为单字符计数。如果 string1 的长度超过指定长度,它将被截断(在右侧)。如果 length 为零或负数,则函数的结果将为空字符串。

string2

(可选)追加到 string1 前面或后面的一个或多个字符。如果未指定此参数,则使用空格。

返回类型

VARCHAR

示例

以下示例使用 TICKIT 示例数据库的 EVENT 表中的数据。有关更多信息,请参阅 示例数据库

要将指定的一组事件名称截断到 20 个字符,并在短于此长度的名称前面追加空格,请使用以下示例。

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 | +-----------------------+

要将相同的一组事件名称截断到 20 个字符,并在短于此长度的名称后面追加 0123456789,请使用以下示例。

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 | +----------------------+