MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи FLOOR() в MariaDB

В MariaDB, FLOOR() е вградена числова функция, която връща най-голямата стойност, не по-голяма от нейния аргумент.

Синтаксис

Синтаксисът е така:

FLOOR(X)

Където X е стойността, към която да се приложи операцията.

Пример

Ето един пример:

SELECT FLOOR(3.6789);

Резултат:

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

Предаването на отрицателна стойност води до следния резултат:

SELECT FLOOR(-3.6789);

Резултат:

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

В сравнение с ROUND()

FLOOR() функцията е различна от ROUND() функция. ROUND() функцията ще закръгли числото нагоре в някои случаи и надолу в други. FLOOR() функцията, от друга страна, винаги връща най-голямата целочислена стойност, не по-голяма от нейния аргумент.

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789);

Резултат:

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

Също така, ROUND() ни позволява да посочим броя на десетичните знаци, които да закръгляме до:

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

Резултат:

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

FLOOR() също е различен от TRUNCATE() функция, която просто съкращава числото до даден десетичен знак.

Нечислови аргументи

Ето какво се случва, когато предоставим нечислов аргумент:

SELECT FLOOR('Ten');

Резултат:

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

Нека проверим предупреждението:

SHOW WARNINGS;

Резултат:

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

Липсващи аргументи

Извикване на FLOOR() без аргумент води до грешка:

SELECT FLOOR();

Резултат:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Главният мениджър за висока достъпност (MHA) се сри! Какво да правя сега?

  2. Как работи RPAD() в MariaDB

  3. Как работи LOG() в MariaDB

  4. MariaDB GROUP_CONCAT()

  5. Как REPLACE() работи в MariaDB