A função SQLite ABS
retorna o valor absoluto de um argumento.
Se o argumento for NULL
, a função ABS retornará NULL
.
Se você passar um argumento com o tipo BLOB ou string para a ABS
função, o SQLite tentará convertê-lo em um número. Se a conversão falhar, a ABS
função retornará 0.
Se o argumento for um número inteiro com o valor -9223372036854775808
, a ABS
função lançará uma exceção de estouro de número inteiro porque não há nenhum número inteiro positivo de 64 bits para esse valor.
Sintaxe
ABS(N)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Argumentos
N
N
é um número ou uma expressão que pode ser avaliada como um número.
Tipo de retorno
ABS
função retorna o tipo de dados do argumento
Exemplos
A instrução a seguir usa a ABS
função para calcular o valor absoluto de -1000
:
SELECT ABS( -1000);
ABS( -1000)
-----------
1000
Linguagem de código: Sessão Shell ( shell )
O exemplo a seguir ilustra como calcular o valor de uma string que pode ser convertida em um número:
SELECT ABS('2000');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
abs
-------
2000
Linguagem de código: Sessão Shell ( shell )
O mesmo para o exemplo a seguir:
SELECT ABS('3000abs');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
ABS('3000abs')
-------------
3000
Linguagem de código: Sessão Shell ( shell )
No entanto, a instrução a seguir retorna 0 porque o SQLite não pode converter a string em um número.
SELECT ABS('sqlite4000');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
ABS('sqlite4000')
-----------------
0.0
Linguagem de código: Sessão Shell ( shell )
O exemplo a seguir ilustra como usar uma expressão com a ABS
função.
SELECT ABS(10-200);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
ABS(10-200)
-------
190
Linguagem de código: Sessão Shell ( shell )
Se você executar a seguinte instrução, receberá uma mensagem de erro:
SELECT ABS(-9223372036854775808);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Error while executing SQL query on database 'sampledb': integer overflow
Linguagem de código: Sessão Shell ( shell )