W Oracle ABS()
funkcja zwraca wartość bezwzględną swojego argumentu.
Wartość bezwzględna to nieujemna wartość liczby rzeczywistej bez względu na jej znak. Opisuje odległość od zera, w jakiej liczba znajduje się na osi liczbowej, bez uwzględniania kierunku.
Składnia
ABS()
składnia funkcji wygląda następująco:
ABS(n)
Gdzie n
może być dowolnym liczbowym typem danych lub dowolnym nienumerycznym typem danych, który można niejawnie przekonwertować na numeryczny typ danych.
Funkcja zwraca ten sam typ danych, co numeryczny typ danych argumentu.
Przykład
Oto przykład do zademonstrowania:
SELECT ABS(-7)
FROM DUAL;
Wynik:
ABS(-7) __________ 7
Wartość bezwzględna -7
to 7
.
To jest dokładnie ten sam wynik, który otrzymalibyśmy, gdybyśmy zdali dodatnie 7
:
SELECT
ABS(7),
ABS(-7)
FROM DUAL;
Wynik:
ABS(7) ABS(-7) _________ __________ 7 7
Wartości puste
Przekazywanie null
do ABS()
zwraca null
:
SET NULL 'null';
SELECT ABS(null)
FROM DUAL;
Wynik:
ABS(NULL) ____________ null
Domyślnie SQLcl i SQL*Plus zwracają spację za każdym razem, gdy w wyniku polecenia SQL SELECT
wystąpi wartość null oświadczenie.
Możesz jednak użyć SET NULL
aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null
należy zwrócić.
Nieprawidłowa liczba argumentów
Wywołanie ABS()
bez przekazywania żadnych argumentów zwraca błąd:
SELECT ABS()
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT ABS() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
A przekazanie niewłaściwej liczby argumentów skutkuje błędem:
SELECT ABS(1, 2)
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT ABS(1, 2) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: