

 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/)。

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

# STRTOL 函數
<a name="r_STRTOL"></a>

將指定底數之數字的字串表達式轉換為等同的整數值。轉換的值必須在帶正負號的 64 位元範圍內。

## 語法
<a name="r_STRTOL-syntax"></a>

```
STRTOL(num_string, base)
```

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

 *num\_string*   
要轉換之數字的字串表達式。如果 *num\_string* 是空的 ( `''` )，或開頭為 Null 字元 (`'\0'`)，則轉換的值為 `0`。如果 *num\_string* 是含有 NULL 值的欄，STRTOL 會傳回 `NULL`。字串的開頭可以有任何數量的空格，後面可選擇接著單一加號 '`+`' 或減號 '`-`' 來表示正或負。預設為 '`+`'。如果 *base* 是 `16`，字串可選擇以 '`0x`' 開頭。

*base*  
`INTEGER` 介於 2 和 36 之間。

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

BIGINT  
如果 *num\_string* 為空，則函數傳回 `NULL`。

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

若要將字串和基值對轉換為整數，請使用下列範例。

```
SELECT STRTOL('0xf',16);

+--------+
| strtol |
+--------+
|     15 |
+--------+

SELECT STRTOL('abcd1234',16);

+------------+
|   strtol   |
+------------+
| 2882343476 |
+------------+

SELECT STRTOL('1234567', 10);

+---------+
| strtol  |
+---------+
| 1234567 |
+---------+

SELECT STRTOL('1234567', 8);

+--------+
| strtol |
+--------+
| 342391 |
+--------+

SELECT STRTOL('110101', 2);

+--------+
| strtol |
+--------+
|     53 |
+--------+

SELECT STRTOL('\0', 2);

+--------+
| strtol |
+--------+
|      0 |
+--------+
```