sql >> Database >  >> RDS >> MariaDB

Hoe FLOOR() werkt in MariaDB

In MariaDB, FLOOR() is een ingebouwde numerieke functie die de grootste gehele waarde retourneert die niet groter is dan zijn argument.

Syntaxis

De syntaxis gaat als volgt:

FLOOR(X)

Waar X is de waarde waarop de bewerking moet worden toegepast.

Voorbeeld

Hier is een voorbeeld:

SELECT FLOOR(3.6789);

Resultaat:

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

Het doorgeven van een negatieve waarde levert het volgende resultaat op:

SELECT FLOOR(-3.6789);

Resultaat:

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

Vergeleken met ROUND()

De FLOOR() functie is anders dan de ROUND() functie. De ROUND() functie zou het getal in sommige gevallen naar boven afronden en in andere naar beneden. De FLOOR() functie, aan de andere kant, retourneert altijd de grootste gehele waarde die niet groter is dan zijn argument.

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789);

Resultaat:

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

Ook ROUND() stelt ons in staat om het aantal decimalen te specificeren waarop moet worden afgerond:

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

Resultaat:

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

FLOOR() is ook anders dan de TRUNCATE() functie, die het getal eenvoudig afkapt tot een bepaald decimaalteken.

Niet-numerieke argumenten

Dit is wat er gebeurt als we een niet-numeriek argument opgeven:

SELECT FLOOR('Ten');

Resultaat:

+--------------+
| FLOOR('Ten') |
+--------------+
|            0 |
+--------------+
1 row in set, 1 warning (0.000 sec)

Laten we de waarschuwing eens bekijken:

SHOW WARNINGS;

Resultaat:

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

Ontbrekende argumenten

Bellen FLOOR() zonder een argument resulteert in een fout:

SELECT FLOOR();

Resultaat:

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

  1. java - array doorgeven in oracle opgeslagen procedure

  2. Terugdraaien naar traditionele replicatie vanuit GTID

  3. Waarden invoegen in een IDENTITY-kolom in SQL Server

  4. PostgreSQL BESCHRIJVING TABEL Equivalent