Trong PostgreSQL, trunc()
hàm cắt bớt một số.
Cụ thể hơn, nó cắt ngắn số về 0 hoặc đến một số vị trí thập phân cụ thể.
Cú pháp
trunc()
hàm có thể được sử dụng theo một trong các cách sau:
trunc(dp or numeric)
trunc(v numeric, s int)
Cú pháp đầu tiên cắt ngắn số về 0.
Cú pháp thứ hai cắt ngắn nó thành một số vị trí thập phân được chỉ định. Trong trường hợp này, v
là số và s
là số vị trí thập phân.
Ví dụ về cú pháp đầu tiên
Dưới đây là một ví dụ sử dụng cú pháp đầu tiên.
SELECT trunc(342.49);
Kết quả:
342
Ví dụ về cú pháp thứ hai
Đây là một ví dụ sử dụng cú pháp thứ hai.
SELECT trunc(342.49, 1);
Kết quả:
342.4
Thêm phân số giây
Dưới đây là một ví dụ về việc chỉ định một số vị trí thập phân khi số đó không bao gồm bất kỳ vị trí nào.
SELECT trunc(342, 3);
Kết quả:
342.000
Số phủ định
Dưới đây là một ví dụ sử dụng số âm.
SELECT round(-4.5);
Kết quả:
-5
Vị trí thập phân phủ định
Đây là những gì sẽ xảy ra khi đối số thứ hai là một giá trị âm.
SELECT trunc(342, -2);
Kết quả:
300
Trunc () so với Round ()
Trong một số trường hợp, trunc()
hàm có thể hoạt động theo cách tương tự với round()
. Nhưng chúng có các chức năng khá khác nhau.
round()
hàm làm tròn số. Số được làm tròn đến số nguyên gần nhất hoặc đến số chữ số thập phân được chỉ định (tùy thuộc vào việc bạn cung cấp cho nó một đối số hay hai đối số).
trunc()
Mặt khác, hàm này chỉ đơn giản là cắt ngắn số về 0 hoặc đến vị trí thập phân được chỉ định. Không làm tròn số nào được thực hiện.
Dưới đây là một ví dụ để chứng minh sự khác biệt.
SELECT
round(342.49, 1),
trunc(342.49, 1);
Kết quả:
round | trunc -------+------- 342.5 | 342.4