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'