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'