MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

MariaDB FLOOR() a OBCIĄŻENIE()

MariaDB ma FLOOR() funkcja i TRUNCATE() funkcja, która może zwrócić te same wyniki lub różne wyniki, w zależności od dokładnej wartości ich argumentów.

Poniżej znajduje się krótkie podsumowanie różnicy między FLOOR() i TRUNCATE() w MariaDB.

Różnica

Oto różnica między każdą funkcją w skrócie:

  • FLOOR() zwraca największą liczbę całkowitą nie większą niż jej argument.
  • TRUNCATE() obcina swój argument do określonej liczby miejsc dziesiętnych.

Składnia

Po pierwsze, oto składnia każdej funkcji.

FLOOR()

Składnia FLOOR() idzie tak:

FLOOR(X)

Zwraca największą liczbę całkowitą nie większą niż X .

TRUNCATE()

Składnia TRUNCATE() idzie tak:

TRUNCATE(X,D)

TRUNCATE() zwraca liczbę X , obcięte do D miejsca po przecinku.

Przykład

Oto porównanie pokazujące różnicę między FLOOR() i TRUNCATE() :

SELECT 
    FLOOR(-3.6789),
    TRUNCATE(-3.6789, 0);

Wynik:

+----------------+----------------------+
| FLOOR(-3.6789) | TRUNCATE(-3.6789, 0) |
+----------------+----------------------+
|             -4 |                   -3 |
+----------------+----------------------+

W tym przypadku liczba jest wartością ujemną, a wynik każdej funkcji jest inny.

  • FLOOR() zwrócił największą liczbę całkowitą (-4 ) wartość nie większa niż jej argument.
  • TRUNCATE() z drugiej strony, po prostu skrócił liczbę w określonym miejscu dziesiętnym.

Ten sam wynik

Obie funkcje mogą czasami zwrócić ten sam wynik. Wszystko zależy od wartości przekazywanych argumentów.

Jeśli zmienimy liczby na wartości dodatnie, obie funkcje zwrócą ten sam wynik:

SELECT 
    FLOOR(3.6789),
    TRUNCATE(3.6789, 0);

Wynik:

+---------------+---------------------+
| FLOOR(3.6789) | TRUNCATE(3.6789, 0) |
+---------------+---------------------+
|             3 |                   3 |
+---------------+---------------------+

Drugi argument

Inną oczywistą różnicą między tymi dwiema funkcjami jest to, że TRUNCATE() akceptuje/wymaga drugiego argumentu. Może to skutkować wynikiem zawierającym część ułamkową.

FLOOR() jednak zwraca tylko liczbę całkowitą, więc żadna część ułamkowa nigdy nie jest zwracana.

Przykład

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

Wynik:

+---------------+---------------------+
| FLOOR(3.6789) | TRUNCATE(3.6789, 2) |
+---------------+---------------------+
|             3 |                3.67 |
+---------------+---------------------+

ROUND() Funkcja

Obie funkcje różnią się od ROUND() funkcja, która zaokrągla swój argument do określonej liczby miejsc po przecinku.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować MariaDB na CentOS 8?

  2. 8 sposobów na dodawanie dni do daty w MariaDB

  3. Jak działa funkcja INSERT() w MariaDB

  4. Jak uzyskać wartości, które nie zawierają liczb w MariaDB?

  5. 3 sposoby na posortowanie kolumny w MariaDB