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'