Database
 sql >> Baza danych >  >> RDS >> Database

Jak obliczyć wartość bezwzględną w SQL?

Problem:

Chcesz znaleźć wartość bezwzględną liczby.

Przykład:

Chcesz obliczyć wartość bezwzględną (aka moduł) każdej liczby w kolumnie numbers z tabeli data .

liczby
-3,2
0
20

Rozwiązanie:

SELECT
  ABS(numbers) AS absolute_values
FROM data;

Wynik:

wartości_bezwzględne
3.2
0
20

Dyskusja:

Aby obliczyć wartość bezwzględną liczby, użyj ABS() funkcjonować. Ta funkcja przyjmuje liczbę jako argument i zwraca jej wartość bez znaku minus, jeśli taki istnieje. Zwracana wartość zawsze będzie nieujemna – zero dla argumentu 0, dodatni dla każdego innego argumentu. Zwróć uwagę, że zwrócona wartość będzie się różnić od argumentu tylko wtedy, gdy argument jest ujemny.

Jeśli z jakiegoś powodu musisz przekonwertować tylko wartości dodatnie na ich ujemne odpowiedniki i pozostawić inne wartości (tj. zero i ujemne) niezmienione, możesz użyć znaku minus przed ABS() funkcja.

SELECT
  -ABS(numbers) AS non_positive
FROM data;

Wynik będzie następujący:

niedodatni
-3,2
0
-20

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Maskowanie danych w czasie rzeczywistym za pomocą wyzwalaczy

  2. Podziel duże operacje usuwania na porcje

  3. Foreach lub For – oto jest pytanie

  4. Dedykowana procedura składowana umożliwiająca uzyskanie najnowszego stanu kopii zapasowych bazy danych

  5. Konwencja nazewnictwa rozgałęzień w Git:najlepsze praktyki