sql >> Databáze >  >> RDS >> Oracle

Funkce ABS() v Oracle

V Oracle, ABS() funkce vrací absolutní hodnotu svého argumentu.

Absolutní hodnota je nezáporná hodnota reálného čísla bez ohledu na jeho znaménko. Popisuje vzdálenost od nuly, ve které je číslo na číselné ose, bez ohledu na směr.

Syntaxe

ABS() syntaxe funkce vypadá takto:

ABS(n)

Kde n může být jakýkoli číselný datový typ nebo jakýkoli nenumerický datový typ, který lze implicitně převést na číselný datový typ.

Funkce vrací stejný datový typ jako číselný datový typ argumentu.

Příklad

Zde je příklad k demonstraci:

SELECT ABS(-7)
FROM DUAL;

Výsledek:

   ABS(-7) 
__________ 
         7 

Absolutní hodnota -7 je 7 .

To je přesně stejný výsledek, jaký bychom dostali, kdybychom předali kladnou hodnotu 7 :

SELECT 
    ABS(7),
    ABS(-7)
FROM DUAL;

Výsledek:

   ABS(7)    ABS(-7) 
_________ __________ 
        7          7 

Nulové hodnoty

Předávání null na ABS() vrátí null :

SET NULL 'null';

SELECT ABS(null)
FROM DUAL;

Výsledek:

   ABS(NULL) 
____________ 
        null 

Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo, kdykoli se v důsledku příkazu SQL SELECT objeví hodnota null. prohlášení.

Můžete však použít SET NULL určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null by měl být vrácen.

Nesprávný počet argumentů

Volání ABS() bez předání jakýchkoli argumentů vrátí chybu:

SELECT ABS()
FROM DUAL;

Výsledek:

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 předání nesprávného počtu argumentů má za následek chybu:

SELECT ABS(1, 2)
FROM DUAL;

Výsledek:

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. MySQL uděluje databázi všechna oprávnění kromě jedné tabulky

  2. Jaký typ objektu provádí Spring Hibernate Template návrat metody pro počítací dotaz na Oracle?

  3. Jaký je ekvivalent pro LISTAGG (databáze Oracle) v PostgreSQL?

  4. Crystal Reports vs. Microsoft SQL Server Reporting Services