

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# LPAD 和 RPAD 函数
<a name="LPAD"></a>

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

## 语法
<a name="LPAD-synopsis"></a>

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

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

## 参数
<a name="LPAD-arguments"></a>

 *string1*   
一个字符串或计算结果为字符串的表达式，如字符列的名称。

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

 *string2*   
追加到 *string1* 前面或后面的一个或多个字符。此参数是可选的；如果未指定它，则使用空格。

## 返回类型
<a name="LPAD-return-type"></a>

这些函数返回 VARCHAR 数据类型。

## 示例
<a name="LPAD-examples"></a>

将指定的一组事件名称截断到 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
(5 rows)
```

将指定的一组事件名称截断到 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
(5 rows)
```