Database
 sql >> Database >  >> RDS >> Database

Come calcolare un valore assoluto in SQL

Problema:

Vuoi trovare il valore assoluto di un numero.

Esempio:

Vuoi calcolare il valore assoluto (aka modulo) di ogni numero nella colonna numbers dalla tabella data .

numeri
-3.2
0
20

Soluzione:

SELECT
  ABS(numbers) AS absolute_values
FROM data;

Il risultato è:

valori_assoluti
3.2
0
20

Discussione:

Per calcolare il valore assoluto di un numero, usa ABS() funzione. Questa funzione prende un numero come argomento e ne restituisce il valore senza il segno meno se presente. Il valore restituito sarà sempre non negativo – zero per l'argomento 0, positivo per qualsiasi altro argomento. Nota che il valore restituito differirà dall'argomento solo se l'argomento è negativo.

Se, per qualche ragione, devi convertire solo i valori positivi nel loro equivalente negativo e lasciare intatti gli altri valori (cioè zero e negativo), puoi usare un segno meno prima di ABS() funzione.

SELECT
  -ABS(numbers) AS non_positive
FROM data;

Il risultato sarà:

non_positivo
-3.2
0
-20