基数が指定された数の文字列式を、相当する整数値に変換します。変換後の値は、符号付き 64 ビットの範囲内である必要があります。
構文
STRTOL(num_string, base)
引数
- num_string
-
変換する数値の文字列式。num_string が空 (
''
) であるか、null 文字 ('\0'
) で始まる場合、変換後の値は0
になります。num_string が NULL 値を含む列である場合、STRTOL はNULL
を返します。文字列の冒頭は任意の数の空白があっても構わず、オプションで正符号 '+
' または負符号 '-
' 1 個を後ろに付加して正または負を示すことができます。デフォルトは '+
' です。base が16
の場合、オプションで文字列の冒頭に '0x
' を使用できます。 - base
-
2~36 の
INTEGER
。
戻り型
- BIGINT
-
num_string が null の場合、この関数は
NULL
を返します。
例
文字列と基数のペアを整数に変換するには、次の例を使用します。
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 |
+--------+