Problem:
Du vill hitta det absoluta värdet av ett tal.
Exempel:
Du vill beräkna det absoluta värdet (a.k.a. modul) för varje tal i kolumnen numbers
från tabellen data
.
nummer |
---|
-3.2 |
0 |
20 |
Lösning:
SELECT ABS(numbers) AS absolute_values FROM data;
Resultatet är:
absoluta_värden |
---|
3.2 |
0 |
20 |
Diskussion:
För att beräkna det absoluta värdet av ett tal, använd ABS()
fungera. Denna funktion tar ett tal som ett argument och returnerar dess värde utan minustecknet om det finns ett. Det returnerade värdet kommer alltid att vara icke-negativt – noll för argument 0, positivt för alla andra argument. Observera att det returnerade värdet kommer att skilja sig från argumentet endast om argumentet är negativt.
Om du av någon anledning bara behöver konvertera de positiva värdena till deras negativa motsvarighet och lämna de andra (d.v.s. noll och negativa) värden orörda, kan du använda ett minustecken före ABS()
funktion.
SELECT -ABS(numbers) AS non_positive FROM data;
Resultatet blir:
icke_positiv |
---|
-3.2 |
0 |
-20 |