

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

# Amazon QLDB 中的 SUBSTRING 函數
<a name="ql-functions.substring"></a>

**重要**  
支援終止通知：現有客戶將可以使用 Amazon QLDB，直到 07/31/2025 的支援結束為止。如需詳細資訊，請參閱[將 Amazon QLDB Ledger 遷移至 Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)。

在 Amazon QLDB 中，使用 `SUBSTRING`函數從指定的字串傳回子字串。子字串從指定的開始索引開始，並以字串的最後一個字元結束，或以指定的長度結束。

## 語法
<a name="ql-functions.substring.syntax"></a>

```
SUBSTRING ( string, start-index [, length ] )
```

## 引數
<a name="ql-functions.substring.arguments"></a>

*string*  
要`string`從中擷取子字串之資料類型的欄位名稱或表達式。

*start-index*  
*字串*中的開始位置，從中開始擷取。這可以是負數。  
*字串*的第一個字元的索引為 1。

*長度*  
（選用） 從*字串*擷取的字元 （程式碼點） 數目，從 *start-index* 開始，到 end at (*start-index* \$1 *length*) - 1。換言之，子字串的長度。此數字不可以是負數。  
如果未提供此參數，函數會繼續執行，直到*字串*結束為止。

## 傳回類型
<a name="ql-functions.substring.return-type"></a>

`string`

## 範例
<a name="ql-functions.substring.examples"></a>

```
SUBSTRING('123456789', 0)      -- '123456789'
SUBSTRING('123456789', 1)      -- '123456789'
SUBSTRING('123456789', 2)      -- '23456789'
SUBSTRING('123456789', -4)     -- '123456789'
SUBSTRING('123456789', 0, 999) -- '123456789'
SUBSTRING('123456789', 0, 2)   -- '1'
SUBSTRING('123456789', 1, 999) -- '123456789'
SUBSTRING('123456789', 1, 2)   -- '12'
SUBSTRING('1', 1, 0)           -- ''
SUBSTRING('1', 1, 0)           -- ''
SUBSTRING('1', -4, 0)          -- ''
SUBSTRING('1234', 10, 10)      -- ''

-- Runnable statements
SELECT SUBSTRING('123456789', 1) FROM << 0 >>    -- "123456789"
SELECT SUBSTRING('123456789', 1, 2) FROM << 0 >> -- "12"
```

## 相關函數
<a name="ql-functions.substring.related"></a>
+ [CHAR\$1LENGTH](ql-functions.char_length.md)
+ [LOWER](ql-functions.lower.md)
+ [TRIM](ql-functions.trim.md)
+ [UPPER](ql-functions.upper.md)