MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

MariaDB ROUND () so với FLOOR ()

MariaDB có ROUND() và một FLOOR() hoạt động tương tự theo một số cách, nhưng hoàn toàn khác theo những cách khác.

Dưới đây là tóm tắt nhanh về sự khác biệt giữa ROUND()FLOOR() trong MariaDB.

Sự khác biệt

Tóm lại, đây là sự khác biệt giữa từng chức năng:

  • ROUND() làm tròn đối số của nó đến một số chữ số thập phân được chỉ định.
  • FLOOR() trả về giá trị số nguyên lớn nhất không lớn hơn đối số của nó.

Cú pháp

Đây là cú pháp và định nghĩa của từng hàm.

ROUND()

ROUND() hàm có thể được sử dụng theo hai cách sau:

ROUND(X)
ROUND(X,D)

ROUND() làm tròn đối số X thành D vị trí thập phân. Thuật toán làm tròn phụ thuộc vào kiểu dữ liệu của X .

FLOOR()

FLOOR() chỉ có thể sử dụng hàm với một cú pháp:

FLOOR(X)

FLOOR() trả về giá trị số nguyên lớn nhất không lớn hơn X .

Ví dụ về sự khác biệt

Dưới đây là so sánh để chứng minh sự khác biệt giữa ROUND()FLOOR() :

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789);

Kết quả:

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

Trong trường hợp này, ROUND() hàm làm tròn số lên vì chữ số tiếp theo (8 ) lớn hơn 5 .

FLOOR() mặt khác, hàm này chỉ trả về giá trị số nguyên lớn nhất không lớn hơn đối số (3.6789 ).

Đối số thứ hai

Một sự khác biệt nữa là ROUND() chấp nhận đối số thứ hai tùy chọn, trong khi FLOOR() không.

Đối số thứ hai cho phép bạn chỉ định bao nhiêu chữ số thập phân để làm tròn số.

Ví dụ

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

Kết quả:

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

Ví dụ về cùng một kết quả

Các hàm này đôi khi có thể trả về cùng một kết quả. Tất cả phụ thuộc vào giá trị của các đối số được truyền.

Ví dụ:nếu chúng ta đặt một dấu âm trước các giá trị, chúng ta sẽ nhận được cùng một kết quả:

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

Kết quả:

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

Điều đó không có nghĩa là giá trị âm luôn trả về cùng một kết quả - điều đó không xảy ra. Tất cả phụ thuộc vào các giá trị thực tế đang được cung cấp và việc làm tròn sẽ diễn ra theo ROUND() .

Dưới đây là một ví dụ trong đó các giá trị âm tạo ra các kết quả khác nhau:

SELECT 
    FLOOR(-3.3739),
    ROUND(-3.3739);

Kết quả:

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

Và đây là một ví dụ trong đó các giá trị dương trả về cùng một kết quả:

SELECT 
    FLOOR(3.3739),
    ROUND(3.3739);

Kết quả:

+---------------+---------------+
| FLOOR(3.3739) | ROUND(3.3739) |
+---------------+---------------+
|             3 |             3 |
+---------------+---------------+

TRUNCATE() Chức năng

Cả hai hàm đều khác với TRUNCATE() hàm, chỉ đơn giản là cắt ngắn giá trị đến một số vị trí thập phân nhất định.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt và bảo mật MariaDB trên Ubuntu

  2. Cách YEAR () hoạt động trong MariaDB

  3. Cách triển khai Cơ sở dữ liệu MySQL Open edX để có tính khả dụng cao

  4. 3 cách để hiển thị đối chiếu cho kết nối của bạn trong MariaDB

  5. Cách CURDATE () hoạt động trong MariaDB