In Oracle die CEIL()
Die Funktion gibt die kleinste Ganzzahl zurück, die größer oder gleich ihrem Argument ist.
Syntax
Die Syntax lautet wie folgt:
CEIL(n)
Wobei n
kann ein beliebiger numerischer Datentyp oder ein beliebiger nicht numerischer Datentyp sein, der implizit in einen numerischen Datentyp konvertiert werden kann.
Beispiel
Hier ist ein Beispiel:
SELECT CEIL(7.15)
FROM DUAL;
Ergebnis:
CEIL(7.15) _____________ 8
Das Übergeben eines negativen Werts führt zu folgendem Ergebnis:
SELECT CEIL(-7.15)
FROM DUAL;
Ergebnis:
CEIL(-7.15) ______________ -7
Im Vergleich zu ROUND()
Die CEIL()
Funktion unterscheidet sich von ROUND()
Funktion. Das ROUND()
Die Funktion würde die Zahl in einigen Fällen abrunden, während CEIL()
gibt immer den kleinsten ganzzahligen Wert zurück, der größer oder gleich seinem Argument ist.
SELECT
CEIL(7.15),
ROUND(7.15)
FROM DUAL;
Ergebnis:
CEIL(7.15) ROUND(7.15) _____________ ______________ 8 7
Auch ROUND()
ermöglicht es uns, die Anzahl der Dezimalstellen anzugeben, auf die gerundet werden soll:
SELECT
CEIL(7.15),
ROUND(7.15, 1)
FROM DUAL;
Ergebnis:
CEIL(7.15) ROUND(7.15,1) _____________ ________________ 8 7.2
Nicht numerisches Argument
Das Argument kann ein beliebiger numerischer Datentyp oder ein beliebiger nicht numerischer Datentyp sein, der implizit in einen numerischen Datentyp konvertiert werden kann.
Folgendes passiert, wenn wir ein nicht numerisches Argument angeben, das nicht in einen numerischen Datentyp konvertiert werden kann:
SELECT CEIL('Oops!')
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT CEIL('Oops!') FROM DUAL Error report - ORA-01722: invalid number
Nullwerte
Übergabe von null
zu CEIL()
gibt null
zurück :
SET NULL 'null';
SELECT CEIL(null)
FROM DUAL;
Ergebnis:
CEIL(NULL) _____________ null
Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null
tritt als Ergebnis eines SQL SELECT
auf 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 CEIL()
ohne Übergabe von Argumenten gibt einen Fehler zurück:
SELECT CEIL()
FROM DUAL;
Ergebnis:
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:
Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:
SELECT CEIL(1, 2)
FROM DUAL;
Ergebnis:
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 hat auch ein FLOOR()
Funktion, die die größte Ganzzahl zurückgibt, die gleich oder kleiner als ihr Argument ist.