LPAD 和 RPAD 函数
这些函数根据指定长度在字符串前面或后面追加字符。
语法
LPAD(string1, length, [ string2 ])
RPAD(string1, length, [ string2 ])
参数
- string1
-
CHAR
字符串、VARCHAR
字符串或隐式计算为CHAR
或VARCHAR
类型的表达式。 - 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 | +----------------------+