sql >> Databáze >  >> RDS >> MariaDB

Jak CEILING() funguje v MariaDB

V MariaDB, CEILING() je vestavěná numerická funkce, která vrací nejmenší celočíselnou hodnotu, která není menší než její argument.

Syntaxe

Syntaxe vypadá takto:

CEILING(X)

Kde X je hodnota, na kterou se má operace použít.

Příklad

Zde je příklad:

SELECT CEILING(2.34);

Výsledek:

+---------------+
| CEILING(2.34) |
+---------------+
|             3 |
+---------------+

Předání záporné hodnoty vede k následujícímu výsledku:

SELECT CEILING(-2.34);

Výsledek:

+----------------+
| CEILING(-2.34) |
+----------------+
|             -2 |
+----------------+

Ve srovnání s ROUND()

CEILING() funkce se liší od funkce ROUND() funkce. ROUND() Funkce by v některých případech zaokrouhlila číslo dolů, zatímco CEILING() vždy vrátí nejmenší celočíselnou hodnotu, která není menší než jeho argument.

SELECT 
    CEILING(2.34),
    ROUND(2.34);

Výsledek:

+---------------+-------------+
| CEILING(2.34) | ROUND(2.34) |
+---------------+-------------+
|             3 |           2 |
+---------------+-------------+

Také ROUND() nám umožňuje zadat počet desetinných míst na zaokrouhlení:

SELECT 
    CEILING(2.34),
    ROUND(2.34, 1);

Výsledek:

+---------------+----------------+
| CEILING(2.34) | ROUND(2.34, 1) |
+---------------+----------------+
|             3 |            2.3 |
+---------------+----------------+

Nečíselné argumenty

Když poskytneme nečíselný argument, stane se toto:

SELECT CEILING('Ten');

Výsledek:

+----------------+
| CEILING('Ten') |
+----------------+
|              0 |
+----------------+
1 row in set, 1 warning (0.001 sec)

Podívejme se na varování:

SHOW WARNINGS;

Výsledek:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' |
+---------+------+-----------------------------------------+

Chybí argumenty

Volání CEILING() bez argumentu vede k chybě:

SELECT CEILING();

Výsledek:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CEILING'

  1. Sloučit více řádků do jednoho řádku

  2. Jak zřetězit text z více řádků do jednoho textového řetězce na serveru SQL Server

  3. Nepoužívá se při použití NULL v PostgreSQL stále bitmapa NULL v záhlaví?

  4. Hromadná/dávková aktualizace/upsert v PostgreSQL