Converte a expressão de string de um número da base especificada ao valor inteiro equivalente. O valor convertido deve estar dentro do intervalo de 64 bits assinado.
Sintaxe
STRTOL(num_string, base)
Argumentos
- num_string
-
Expressão de string de um número a ser convertido. Se num_string estiver vazia (
''
) ou começar com o caractere nulo ('\0'
), o valor convertido será0
. Se num_string for uma coluna que contém um valor NULL, STRTOL retornaráNULL
. A string pode começar com qualquer quantidade de espaços em branco seguida, opcionalmente seguida por um sinal de mais ''+
" ou menos ''-
" para indicar positivo ou negativo. O padrão é '+
'. Se base for16
, a string pode opcionalmente começar com "0x
". - base
-
INTEGER
entre 2 e 36.
Tipo de retorno
- BIGINT
-
Se num_string for nulo, a função retornará
NULL
.
Exemplos
Para converter pares de valores de string e base para números inteiros, use os exemplos a seguir.
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 |
+--------+