I Oracle, ABS()
funktion returnerar det absoluta värdet av dess argument.
Det absoluta värdet är det icke-negativa värdet av ett reellt tal utan hänsyn till dess tecken. Den beskriver avståndet från noll som ett tal är på tallinjen, utan att ta hänsyn till riktning.
Syntax
ABS()
funktions syntax ser ut så här:
ABS(n)
Där n
kan vara vilken numerisk datatyp som helst eller vilken icke-numerisk datatyp som helst som implicit kan konverteras till en numerisk datatyp.
Funktionen returnerar samma datatyp som den numeriska datatypen för argumentet.
Exempel
Här är ett exempel att visa:
SELECT ABS(-7)
FROM DUAL;
Resultat:
ABS(-7) __________ 7
Det absoluta värdet av -7
är 7
.
Det är exakt samma resultat som vi skulle få om vi hade klarat en positiv 7
:
SELECT
ABS(7),
ABS(-7)
FROM DUAL;
Resultat:
ABS(7) ABS(-7) _________ __________ 7 7
Nullvärden
Skickar null
till ABS()
returnerar null
:
SET NULL 'null';
SELECT ABS(null)
FROM DUAL;
Resultat:
ABS(NULL) ____________ null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när ett nollvärde inträffar som ett resultat av en SQL SELECT
påstående.
Du kan dock använda SET NULL
för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null
bör returneras.
Inkorrekt antal argument
Anropar ABS()
utan att skicka några argument returnerar ett fel:
SELECT ABS()
FROM DUAL;
Resultat:
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:
Och att skicka fel antal argument resulterar i ett fel:
SELECT ABS(1, 2)
FROM DUAL;
Resultat:
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: