In Oracle is de CEIL()
functie retourneert het kleinste gehele getal dat groter is dan of gelijk is aan zijn argument.
Syntaxis
De syntaxis gaat als volgt:
CEIL(n)
Waar n
kan elk numeriek gegevenstype zijn of elk niet-numeriek gegevenstype dat impliciet kan worden geconverteerd naar een numeriek gegevenstype.
Voorbeeld
Hier is een voorbeeld:
SELECT CEIL(7.15)
FROM DUAL;
Resultaat:
CEIL(7.15) _____________ 8
Het doorgeven van een negatieve waarde levert het volgende resultaat op:
SELECT CEIL(-7.15)
FROM DUAL;
Resultaat:
CEIL(-7.15) ______________ -7
Vergeleken met ROUND()
Het CEIL()
functie is anders dan de ROUND()
functie. De ROUND()
functie zou het getal in sommige gevallen naar beneden afronden, terwijl CEIL()
retourneert altijd het kleinste gehele getal dat groter is dan of gelijk is aan het argument.
SELECT
CEIL(7.15),
ROUND(7.15)
FROM DUAL;
Resultaat:
CEIL(7.15) ROUND(7.15) _____________ ______________ 8 7
Ook ROUND()
stelt ons in staat om het aantal decimalen te specificeren waarop moet worden afgerond:
SELECT
CEIL(7.15),
ROUND(7.15, 1)
FROM DUAL;
Resultaat:
CEIL(7.15) ROUND(7.15,1) _____________ ________________ 8 7.2
Niet-numeriek argument
Het argument kan elk numeriek gegevenstype zijn of elk niet-numeriek gegevenstype dat impliciet kan worden geconverteerd naar een numeriek gegevenstype.
Dit is wat er gebeurt als we een niet-numeriek argument opgeven dat niet kan worden geconverteerd naar een numeriek gegevenstype:
SELECT CEIL('Oops!')
FROM DUAL;
Resultaat:
Error starting at line : 1 in command - SELECT CEIL('Oops!') FROM DUAL Error report - ORA-01722: invalid number
Null-waarden
Doorgeven van null
naar CEIL()
retourneert null
:
SET NULL 'null';
SELECT CEIL(null)
FROM DUAL;
Resultaat:
CEIL(NULL) _____________ null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null
treedt op als resultaat van een SQL SELECT
uitspraak.
U kunt echter SET NULL
. gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Onjuist aantal argumenten
Aanroepen van CEIL()
zonder het doorgeven van argumenten geeft een fout:
SELECT CEIL()
FROM DUAL;
Resultaat:
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:
En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:
SELECT CEIL(1, 2)
FROM DUAL;
Resultaat:
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 heeft ook een FLOOR()
functie die het grootste gehele getal teruggeeft dat gelijk is aan of kleiner is dan zijn argument.