I MariaDB, CEILING()
är en inbyggd numerisk funktion som returnerar det minsta heltalsvärdet inte mindre än dess argument.
Syntax
Syntaxen ser ut så här:
CEILING(X)
Där X
är värdet att tillämpa operationen på.
Exempel
Här är ett exempel:
SELECT CEILING(2.34);
Resultat:
+---------------+ | CEILING(2.34) | +---------------+ | 3 | +---------------+
Att skicka ett negativt värde ger följande resultat:
SELECT CEILING(-2.34);
Resultat:
+----------------+ | CEILING(-2.34) | +----------------+ | -2 | +----------------+
Jämfört med ROUND()
CEILING()
funktionen skiljer sig från ROUND()
fungera. ROUND()
funktion skulle avrunda talet nedåt i vissa fall, medan CEILING()
returnerar alltid det minsta heltalsvärdet inte mindre än dess argument.
SELECT
CEILING(2.34),
ROUND(2.34);
Resultat:
+---------------+-------------+ | CEILING(2.34) | ROUND(2.34) | +---------------+-------------+ | 3 | 2 | +---------------+-------------+
Även ROUND()
tillåter oss att ange antalet decimaler som ska avrundas till:
SELECT
CEILING(2.34),
ROUND(2.34, 1);
Resultat:
+---------------+----------------+ | CEILING(2.34) | ROUND(2.34, 1) | +---------------+----------------+ | 3 | 2.3 | +---------------+----------------+
Icke-numeriska argument
Det här är vad som händer när vi tillhandahåller ett icke-numeriskt argument:
SELECT CEILING('Ten');
Resultat:
+----------------+ | CEILING('Ten') | +----------------+ | 0 | +----------------+ 1 row in set, 1 warning (0.001 sec)
Låt oss kolla varningen:
SHOW WARNINGS;
Resultat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Argument saknas
Anropar CEILING()
utan argument resulterar i ett fel:
SELECT CEILING();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CEILING'