Dans Oracle, le CEIL()
La fonction renvoie le plus petit entier supérieur ou égal à son argument.
Syntaxe
La syntaxe ressemble à ceci :
CEIL(n)
Où 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.
Exemple
Voici un exemple :
SELECT CEIL(7.15)
FROM DUAL;
Résultat :
CEIL(7.15) _____________ 8
Passer une valeur négative produit le résultat suivant :
SELECT CEIL(-7.15)
FROM DUAL;
Résultat :
CEIL(-7.15) ______________ -7
Comparé à ROUND()
Le CEIL()
la fonction est différente de ROUND()
une fonction. Le ROUND()
fonction arrondirait le nombre vers le bas dans certains cas, alors que CEIL()
renvoie toujours la plus petite valeur entière supérieure ou égale à son argument.
SELECT
CEIL(7.15),
ROUND(7.15)
FROM DUAL;
Résultat :
CEIL(7.15) ROUND(7.15) _____________ ______________ 8 7
Aussi, ROUND()
permet de spécifier le nombre de décimales à arrondir :
SELECT
CEIL(7.15),
ROUND(7.15, 1)
FROM DUAL;
Résultat :
CEIL(7.15) ROUND(7.15,1) _____________ ________________ 8 7.2
Argument non numérique
L'argument 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.
Voici ce qui se passe lorsque nous fournissons un argument non numérique qui ne peut pas être converti en un type de données numérique :
SELECT CEIL('Oops!')
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT CEIL('Oops!') FROM DUAL Error report - ORA-01722: invalid number
Valeurs nulles
Passer null
à CEIL()
renvoie null
:
SET NULL 'null';
SELECT CEIL(null)
FROM DUAL;
Résultat :
CEIL(NULL) _____________ null
Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois que null
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 CEIL()
sans passer aucun argument renvoie une erreur :
SELECT CEIL()
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT CEIL() 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 CEIL(1, 2)
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT CEIL(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:
Oracle a aussi un FLOOR()
fonction qui renvoie le plus grand entier égal ou inférieur à son argument.