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: