Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ABS()-Funktion in Oracle

In Oracle das ABS() Die Funktion gibt den absoluten Wert ihres Arguments zurück.

Der Betrag ist der nicht negative Wert einer reellen Zahl ohne Rücksicht auf ihr Vorzeichen. Sie beschreibt den Abstand von Null, den eine Zahl auf dem Zahlenstrahl hat, ohne Berücksichtigung der Richtung.

Syntax

Das ABS() Die Syntax der Funktion lautet wie folgt:

ABS(n)

Wobei n kann ein beliebiger numerischer Datentyp oder ein beliebiger nicht numerischer Datentyp sein, der implizit in einen numerischen Datentyp konvertiert werden kann.

Die Funktion gibt denselben Datentyp zurück wie der numerische Datentyp des Arguments.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT ABS(-7)
FROM DUAL;

Ergebnis:

   ABS(-7) 
__________ 
         7 

Der absolute Wert von -7 ist 7 .

Das ist genau das gleiche Ergebnis, das wir erhalten würden, wenn wir eine positive 7 bestanden hätten :

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

Ergebnis:

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

Nullwerte

Übergabe von null zu ABS() gibt null zurück :

SET NULL 'null';

SELECT ABS(null)
FROM DUAL;

Ergebnis:

   ABS(NULL) 
____________ 
        null 

Standardmäßig geben SQLcl und SQL*Plus immer dann ein Leerzeichen zurück, wenn als Ergebnis eines SQL SELECT ein Nullwert auftritt Erklärung.

Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.

Falsche Argumentanzahl

Aufruf von ABS() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT ABS()
FROM DUAL;

Ergebnis:

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:

Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:

SELECT ABS(1, 2)
FROM DUAL;

Ergebnis:

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: