sql >> Database teknologi >  >> RDS >> MariaDB

Hvordan CEILING() fungerer i MariaDB

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'

  1. @@ROWCOUNT – Få antallet af rækker, der er berørt af den sidste sætning i SQL Server

  2. Hvordan genererer man en version 4 (tilfældig) UUID på Oracle?

  3. MySQL - længde() vs char_length()

  4. Flet en tabel og en ændringslog til en visning i PostgreSQL