Problème :
Vous voulez trouver la valeur absolue d'un nombre.
Exemple :
Vous voulez calculer la valeur absolue (a.k.a. module) de chaque nombre dans la colonne numbers
à partir de la table data
.
chiffres |
---|
-3.2 |
0 |
20 |
Solution :
SELECT ABS(numbers) AS absolute_values FROM data;
Le résultat est :
absolute_values |
---|
3.2 |
0 |
20 |
Discussion :
Pour calculer la valeur absolue d'un nombre, utilisez le ABS()
une fonction. Cette fonction prend un nombre en argument et renvoie sa valeur sans le signe moins s'il y en a un. La valeur renvoyée sera toujours non négative – zéro pour l'argument 0, positif pour tout autre argument. Notez que la valeur renvoyée ne différera de l'argument que si l'argument est négatif.
Si, pour une raison quelconque, vous devez convertir uniquement les valeurs positives en leur équivalent négatif et laisser les autres valeurs (c'est-à-dire zéro et négative) intactes, vous pouvez utiliser un signe moins avant le ABS()
fonction.
SELECT -ABS(numbers) AS non_positive FROM data;
Le résultat sera :
non_positif |
---|
-3.2 |
0 |
-20 |