STRTOL 関数
基数が指定された数の文字列式を、相当する整数値に変換します。変換後の値は、署名付き 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 | +--------+