I MariaDB, CEILING()
er en indbygget numerisk funktion, der returnerer den mindste heltalværdi, der ikke er mindre end dens argument.
Syntaks
Syntaksen ser sådan ud:
CEILING(X)
Hvor X
er værdien, som handlingen skal anvendes på.
Eksempel
Her er et eksempel:
SELECT CEILING(2.34);
Resultat:
+---------------+ | CEILING(2.34) | +---------------+ | 3 | +---------------+
Hvis du sender en negativ værdi, får du følgende resultat:
SELECT CEILING(-2.34);
Resultat:
+----------------+ | CEILING(-2.34) | +----------------+ | -2 | +----------------+
Sammenlignet med ROUND()
CEILING()
funktionen er forskellig fra ROUND()
fungere. ROUND()
funktion ville runde tallet ned i nogle tilfælde, hvorimod CEILING()
returnerer altid den mindste heltalværdi, der ikke er mindre end dens argument.
SELECT
CEILING(2.34),
ROUND(2.34);
Resultat:
+---------------+-------------+ | CEILING(2.34) | ROUND(2.34) | +---------------+-------------+ | 3 | 2 | +---------------+-------------+
Også ROUND()
giver os mulighed for at angive antallet af decimaler, der skal afrundes til:
SELECT
CEILING(2.34),
ROUND(2.34, 1);
Resultat:
+---------------+----------------+ | CEILING(2.34) | ROUND(2.34, 1) | +---------------+----------------+ | 3 | 2.3 | +---------------+----------------+
Ikke-numeriske argumenter
Her er, hvad der sker, når vi giver et ikke-numerisk argument:
SELECT CEILING('Ten');
Resultat:
+----------------+ | CEILING('Ten') | +----------------+ | 0 | +----------------+ 1 row in set, 1 warning (0.001 sec)
Lad os tjekke advarslen:
SHOW WARNINGS;
Resultat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Manglende argumenter
Kalder CEILING()
uden et argument resulterer i en fejl:
SELECT CEILING();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CEILING'