

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の 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\$1string*   
変換する数値の文字列式。*num\$1string* が空 (`''`) であるか、null 文字 (`'\0'`) で始まる場合、変換後の値は `0` になります。*num\$1string* が NULL 値を含む列である場合、STRTOL は `NULL` を返します。文字列の冒頭は任意の数の空白があっても構わず、オプションで正符号 '`+`' または負符号 '`-`' 1 個を後ろに付加して正または負を示すことができます。デフォルトは '`+`' です。*base* が `16` の場合、オプションで文字列の冒頭に '`0x`' を使用できます。

*base*  
2～36 の `INTEGER`。

## 戻り型
<a name="r_STRTOL-return-type"></a>

BIGINT  
*num\$1string* が null の場合、この関数は `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 |
+--------+
```