

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

這些函數根據指定的長度，將字元附加到字串的前面或後面。

## 語法
<a name="r_LPAD-synopsis"></a>

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

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

## 引數
<a name="r_LPAD-arguments"></a>

 *string1*   
`CHAR` 字串、`VARCHAR` 字串或隱含評估為 `CHAR` 或 `VARCHAR` 類型的運算式。

 *長度*   
整數，定義函數結果的長度。字串長度以字元數為基礎，而不是位元組，所以多位元組字元視為單一字元。如果 *string1* 比指定的長度更長，則會截斷 (從右邊)。如果 *length* 是零或負數，則函數結果為空字串。

 *string2*   
(選用) 附加到 *string1* 前面或後面的一或多個字元。如果未指定此引數，則使用空格。

## 傳回類型
<a name="r_LPAD-return-type"></a>

VARCHAR

## 範例
<a name="r_LPAD-examples"></a>

下列範例會使用 TICKIT 範例資料庫中 EVENT 資料表中的資料。如需詳細資訊，請參閱[範本資料庫](c_sampledb.md)。

若要將一組指定的活動名稱截斷至 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 |
+----------------------+
```