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

Jak FLOOR() funguje v MariaDB

V MariaDB, FLOOR() je vestavěná numerická funkce, která vrací největší celé číslo, které není větší než jeho argument.

Syntaxe

Syntaxe vypadá takto:

FLOOR(X)

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

Příklad

Zde je příklad:

SELECT FLOOR(3.6789);

Výsledek:

+---------------+
| FLOOR(3.6789) |
+---------------+
|             3 |
+---------------+

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

SELECT FLOOR(-3.6789);

Výsledek:

+----------------+
| FLOOR(-3.6789) |
+----------------+
|             -4 |
+----------------+

Ve srovnání s ROUND()

FLOOR() funkce se liší od funkce ROUND() funkce. ROUND() Funkce by v některých případech zaokrouhlovala číslo nahoru a v jiných dolů. FLOOR() Funkce na druhou stranu vždy vrací největší celočíselnou hodnotu, která není větší než její argument.

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789);

Výsledek:

+---------------+---------------+
| FLOOR(3.6789) | ROUND(3.6789) |
+---------------+---------------+
|             3 |             4 |
+---------------+---------------+

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

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789, 2);

Výsledek:

+---------------+------------------+
| FLOOR(3.6789) | ROUND(3.6789, 2) |
+---------------+------------------+
|             3 |             3.68 |
+---------------+------------------+

FLOOR() se také liší od TRUNCATE() funkce, která jednoduše zkrátí číslo na dané desetinné místo.

Nečíselné argumenty

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

SELECT FLOOR('Ten');

Výsledek:

+--------------+
| FLOOR('Ten') |
+--------------+
|            0 |
+--------------+
1 row in set, 1 warning (0.000 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í FLOOR() bez argumentu vede k chybě:

SELECT FLOOR();

Výsledek:

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

  1. WHERE IN (pole ID)

  2. Vytvářejte soubory PDF pomocí PLSQL v Oracle

  3. Oracle XML:Přeskočit Neexistující uzel

  4. Jak rychle napsat Select Query v SQL Server - SQL Server / TSQL Tutorial část 108