Database
 sql >> Base de données >  >> RDS >> Database

Comment calculer une valeur absolue en SQL

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