Dans MariaDB, SIGN()
est une fonction intégrée qui renvoie le signe de son argument sous la forme -1
, 0
, ou 1
, selon que l'argument est négatif, nul ou positif.
Syntaxe
La syntaxe ressemble à ceci :
SIGN(X)
Où X
est la valeur pour laquelle renvoyer le signe.
Exemple 1
Voici un exemple pour illustrer :
SELECT SIGN(9);
Résultat :
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
Dans cet exemple, la valeur est positive, donc 1
est renvoyé.
Exemple 2
Voici quelques valeurs supplémentaires pour illustrer les sorties possibles :
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Résultat :
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Arguments non numériques
Voici un exemple de ce qui se passe lorsque nous fournissons des arguments non numériques :
SELECT SIGN('Nine');
Résultat :
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Voyons l'avertissement :
SHOW WARNINGS;
Résultat :
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Argument nul
SIGN()
renvoie null
si son argument est null
:
SELECT SIGN(null);
Résultat :
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Nombre de paramètres incorrect
Appel de SIGN()
avec le mauvais nombre d'arguments, ou sans aucun argument entraîne une erreur :
SELECT SIGN();
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
Et :
SELECT SIGN(10, 2);
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'