sql >> Database >  >> RDS >> Oracle

ABS() Functie in Oracle

In Oracle is de ABS() functie retourneert de absolute waarde van zijn argument.

De absolute waarde is de niet-negatieve waarde van een reëel getal, ongeacht het teken. Het beschrijft de afstand vanaf nul dat een getal op de getallenlijn staat, zonder rekening te houden met de richting.

Syntaxis

De ABS() de syntaxis van de functie gaat als volgt:

ABS(n)

Waar n kan elk numeriek gegevenstype zijn of elk niet-numeriek gegevenstype dat impliciet kan worden geconverteerd naar een numeriek gegevenstype.

De functie retourneert hetzelfde gegevenstype als het numerieke gegevenstype van het argument.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

SELECT ABS(-7)
FROM DUAL;

Resultaat:

   ABS(-7) 
__________ 
         7 

De absolute waarde van -7 is 7 .

Dat is precies hetzelfde resultaat dat we zouden krijgen als we een positieve 7 hadden gehaald :

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

Resultaat:

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

Null-waarden

Doorgeven van null naar ABS() retourneert null :

SET NULL 'null';

SELECT ABS(null)
FROM DUAL;

Resultaat:

   ABS(NULL) 
____________ 
        null 

Standaard retourneren SQLcl en SQL*Plus een spatie wanneer een null-waarde optreedt als resultaat van een SQL SELECT uitspraak.

U kunt echter SET NULL . gebruiken om een ​​andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null moet worden geretourneerd.

Onjuist aantal argumenten

Bellen ABS() zonder het doorgeven van argumenten geeft een fout:

SELECT ABS()
FROM DUAL;

Resultaat:

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:

En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:

SELECT ABS(1, 2)
FROM DUAL;

Resultaat:

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. Opbouwen en onderhouden van een HR-database

  2. Het einde van een lange variabele waarde in VBA inspecteren

  3. Gegevens invoegen en externe sleutels instellen met Postgres

  4. Proactieve SQL Server-statuscontroles, deel 3:instantie- en database-instellingen