Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction ABS() dans Oracle

Dans Oracle, le ABS() fonction renvoie la valeur absolue de son argument.

La valeur absolue est la valeur non négative d'un nombre réel sans tenir compte de son signe. Il décrit la distance à partir de zéro à laquelle un nombre se trouve sur la droite numérique, sans tenir compte de la direction.

Syntaxe

Le ABS() la syntaxe de la fonction ressemble à ceci :

ABS(n)

n peut être n'importe quel type de données numérique ou n'importe quel type de données non numérique qui peut être implicitement converti en un type de données numérique.

La fonction renvoie le même type de données que le type de données numériques de l'argument.

Exemple

Voici un exemple pour illustrer :

SELECT ABS(-7)
FROM DUAL;

Résultat :

   ABS(-7) 
__________ 
         7 

La valeur absolue de -7 est 7 .

C'est exactement le même résultat que nous obtiendrions si nous avions passé un 7 positif :

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

Résultat :

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

Valeurs nulles

Passer null à ABS() renvoie null :

SET NULL 'null';

SELECT ABS(null)
FROM DUAL;

Résultat :

   ABS(NULL) 
____________ 
        null 

Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois qu'une valeur nulle se produit à la suite d'un SQL SELECT déclaration.

Cependant, vous pouvez utiliser SET NULL pour spécifier une autre chaîne à renvoyer. Ici, j'ai précisé que la chaîne null doit être retourné.

Nombre d'arguments incorrects

Appel de ABS() sans passer d'argument renvoie une erreur :

SELECT ABS()
FROM DUAL;

Résultat :

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:

Et passer le mauvais nombre d'arguments entraîne une erreur :

SELECT ABS(1, 2)
FROM DUAL;

Résultat :

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: