Trong MariaDB, CEILING()
là một hàm số được tích hợp sẵn trả về giá trị số nguyên nhỏ nhất không nhỏ hơn đối số của nó.
Cú pháp
Cú pháp như sau:
CEILING(X)
Ở đâu X
là giá trị để áp dụng thao tác.
Ví dụ
Đây là một ví dụ:
SELECT CEILING(2.34);
Kết quả:
+---------------+ | CEILING(2.34) | +---------------+ | 3 | +---------------+
Việc chuyển một giá trị âm sẽ tạo ra kết quả sau:
SELECT CEILING(-2.34);
Kết quả:
+----------------+ | CEILING(-2.34) | +----------------+ | -2 | +----------------+
So với ROUND()
CEILING()
hàm khác với ROUND()
hàm số. ROUND()
hàm sẽ làm tròn số xuống trong một số trường hợp, trong khi CEILING()
luôn trả về giá trị số nguyên nhỏ nhất không nhỏ hơn đối số của nó.
SELECT
CEILING(2.34),
ROUND(2.34);
Kết quả:
+---------------+-------------+ | CEILING(2.34) | ROUND(2.34) | +---------------+-------------+ | 3 | 2 | +---------------+-------------+
Ngoài ra, ROUND()
cho phép chúng tôi chỉ định số chữ số thập phân để làm tròn thành:
SELECT
CEILING(2.34),
ROUND(2.34, 1);
Kết quả:
+---------------+----------------+ | CEILING(2.34) | ROUND(2.34, 1) | +---------------+----------------+ | 3 | 2.3 | +---------------+----------------+
Đối số không phải dạng số
Đây là những gì sẽ xảy ra khi chúng tôi cung cấp đối số không phải là số:
SELECT CEILING('Ten');
Kết quả:
+----------------+ | CEILING('Ten') | +----------------+ | 0 | +----------------+ 1 row in set, 1 warning (0.001 sec)
Hãy kiểm tra cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Thiếu đối số
Đang gọi CEILING()
không có đối số dẫn đến lỗi:
SELECT CEILING();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CEILING'