MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como SIGN() funciona no MariaDB


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'