Trong PostgreSQL, ceiling()
hàm được sử dụng để làm tròn một số lên đến số nguyên gần nhất.
Nó tương tự như round()
, ngoại trừ việc nó chỉ làm tròn. round()
chức năng sẽ làm tròn lên hoặc xuống theo yêu cầu.
Nó cũng tương tự như floor()
, ngoại trừ floor()
đó vòng xuống thay vì lên.
Cú pháp
ceiling()
hàm có thể được sử dụng theo một trong các cách sau:
ceil(dp or numeric)
ceiling(dp or numeric)
Ở đâu dp
cho biết double precision
.
Kiểu trả về giống với kiểu đầu vào.
Cả hai cú pháp hoạt động hoàn toàn giống nhau. Cú pháp đầu tiên chỉ đơn giản là một cách ngắn gọn hơn để thực hiện nó.
Ví dụ
Dưới đây là một ví dụ để chứng minh cách sử dụng của nó.
SELECT ceiling(12.10);
Kết quả:
13
Trong trường hợp này, giây phân số là 10 và số được làm tròn đến số nguyên gần nhất.
Có lẽ không cần phải nói, nhưng nếu tôi tăng giây phân số lên 50, nó vẫn làm tròn.
SELECT ceiling(12.70);
Kết quả:
13
Số phủ định
Dưới đây là một ví dụ sử dụng số âm.
SELECT
ceiling(-12.10),
ceiling(-12.90);
Kết quả:
trầnceiling | ceiling ---------+--------- -12 | -12
Trần () so với Trần ()
Như đã đề cập, ceil()
và ceiling()
là tương đương.
Dưới đây là một ví dụ hiển thị cả hai cú pháp cạnh nhau.
SELECT
ceil(12.10),
ceiling(12.10);
Kết quả:
ceil | ceiling ------+--------- 13 | 13
Trần () so với Vòng ()
Nếu tôi đang sử dụng round()
, 12.10
giá trị sẽ được làm tròn xuống (vì giây phân số nhỏ hơn 50).
Dưới đây là một ví dụ minh họa sự khác biệt giữa ceiling()
và round()
.
SELECT
ceiling(12.10),
round(12.10);
Kết quả:
trầnceiling | round ---------+------- 13 | 12
Tuy nhiên, nếu tôi tăng phân số giây lên 50, cả hai đều trả về cùng một kết quả.
SELECT
ceiling(12.50),
round(12.50);
Kết quả:
trầnceiling | round ---------+------- 13 | 13
Trần () so với Sàn ()
Postgres cũng có floor()
, tương tự như ceiling()
ngoại trừ việc nó luôn làm tròn số xuống .
Dưới đây là một ví dụ hiển thị cả hai cú pháp cạnh nhau.
SELECT
ceiling(12.80),
floor(12.80);
Kết quả:
trầnceiling | floor ---------+------- 13 | 12
Và đây là một ví dụ sử dụng giá trị âm.
SELECT
ceiling(-12.30),
floor(-12.30);
Kết quả:
trầnceiling | floor ---------+------- -12 | -13