Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja ABS() w Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalacja pakietów RODBC/ROracle na OS X Mavericks

  2. jak wygląda indeks B-drzewa w więcej niż 1 kolumnie?

  3. Jak utworzyć zagnieżdżoną tabelę jako obiekt bazy danych w Oracle?

  4. Cel korzystania z różnych typów kolekcji PL/SQL w Oracle

  5. SEC_CASE_SENSTIVE_LOGON za 12c