sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona SIGN() en MariaDB

En MariaDB, SIGN() es una función integrada que devuelve el signo de su argumento como -1 , 0 , o 1 , dependiendo de si el argumento es negativo, cero o positivo.

Sintaxis

La sintaxis es así:

SIGN(X)

Donde X es el valor por el que devolver el signo.

Ejemplo 1

Aquí hay un ejemplo para demostrarlo:

SELECT SIGN(9);

Resultado:

+---------+
| SIGN(9) |
+---------+
|       1 |
+---------+

En este ejemplo, el valor es positivo, por lo que 1 es devuelto.

Ejemplo 2

Aquí hay algunos valores más para demostrar los posibles resultados:

SELECT 
    SIGN(8),
    SIGN(-8),
    SIGN(0);

Resultado:

+---------+----------+---------+
| SIGN(8) | SIGN(-8) | SIGN(0) |
+---------+----------+---------+
|       1 |       -1 |       0 |
+---------+----------+---------+

Argumentos no numéricos

Este es un ejemplo de lo que sucede cuando proporcionamos argumentos no numéricos:

SELECT SIGN('Nine');

Resultado:

+--------------+
| SIGN('Nine') |
+--------------+
|            0 |
+--------------+
1 row in set, 1 warning (0.000 sec)

Veamos la advertencia:

SHOW WARNINGS;

Resultado:

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' |
+---------+------+------------------------------------------+

Argumento nulo

SIGN() devuelve null si su argumento es null :

SELECT SIGN(null);

Resultado:

+------------+
| SIGN(null) |
+------------+
|       NULL |
+------------+

Recuento de parámetros incorrecto

Llamando a SIGN() con el número incorrecto de argumentos, o sin ningún argumento da como resultado un error:

SELECT SIGN();

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'

Y:

SELECT SIGN(10, 2);

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'