No MariaDB,
SIGN()
é uma função interna que retorna o sinal de seu argumento como -1
, 0
, ou 1
, dependendo se o argumento é negativo, zero ou positivo. Sintaxe
A sintaxe fica assim:
SIGN(X)
Onde
X
é o valor para o qual retornar o sinal. Exemplo 1
Segue um exemplo para demonstrar:
SELECT SIGN(9);
Resultado:
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
Neste exemplo, o valor é positivo e, portanto,
1
é devolvido. Exemplo 2
Aqui estão mais alguns valores para demonstrar as saídas possíveis:
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Resultado:
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Argumentos não numéricos
Aqui está um exemplo do que acontece quando fornecemos argumentos não numéricos:
SELECT SIGN('Nine');
Resultado:
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Vejamos o aviso:
SHOW WARNINGS;
Resultado:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Argumento nulo
SIGN()
retorna null
se seu argumento for null
:SELECT SIGN(null);
Resultado:
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Contagem de parâmetros incorreta
Chamando
SIGN()
com o número errado de argumentos ou sem argumentos resulta em um erro:SELECT SIGN();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
E:
SELECT SIGN(10, 2);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'