Khi sử dụng Cơ sở dữ liệu Oracle, bạn có thể sử dụng các hàm như TO_CHAR(number)
để trả về các số dưới dạng một chuỗi, được định dạng thành hai chữ số thập phân (hoặc nhiều chữ số thập phân mà bạn yêu cầu).
Hoặc bạn có thể sử dụng các hàm như ROUND(number)
và TRUNC(number)
để làm tròn hoặc cắt bớt số đến số chữ số thập phân được yêu cầu của bạn.
TO_CHAR()
Chức năng
Dưới đây là một ví dụ sử dụng TO_CHAR(number)
chức năng:
SELECT TO_CHAR(1.2345, 'fm99D00')
FROM DUAL;
Kết quả:
1.23
Trong trường hợp này, số ban đầu có nhiều hơn hai chữ số thập phân và do đó, kết quả chỉ cần cắt ngắn nó thành số số không được chỉ định theo sau ký tự thập phân / cơ số (D
) trong mô hình định dạng.
Lý do tôi sử dụng các số không sau ký tự thập phân là để cung cấp các số không ở cuối nếu được yêu cầu.
Ví dụ:
SELECT TO_CHAR(7, 'fm99D00')
FROM DUAL;
Kết quả:
7.00
Nếu tôi không muốn các số không ở cuối, tôi có thể thay đổi 0
ký tự thành 9
s.
Dưới đây là so sánh giữa hai loại:
SELECT
TO_CHAR(7, 'fm99D00') AS "r1",
TO_CHAR(7, 'fm99D99') AS "r2"
FROM DUAL;
Kết quả:
r1 r2 _______ _____ 7.00 7.
Sử dụng 9
s trong trường hợp này dẫn đến ký tự cơ số nhưng không có chữ số thập phân.
Tôi nên chỉ ra rằng fm
là một công cụ sửa đổi định dạng loại bỏ bất kỳ phần đệm nào có thể được áp dụng cho kết quả. Bạn có thể bỏ qua điều này nếu bạn không bận tâm đến kết quả bị độn. Mặc dù, nếu bạn làm điều này, bạn có thể nhận được các số không ở cuối, ngay cả khi sử dụng 9
phần tử định dạng.
Đây là những gì sẽ xảy ra khi tôi xóa fm
từ ví dụ trước:
SELECT
TO_CHAR(7, '99D00') AS "r1",
TO_CHAR(7, '99D99') AS "r2"
FROM DUAL;
Kết quả:
r1 r2 _________ _________ 7.00 7.00
Tất nhiên, bạn không chỉ giới hạn ở hai chữ số thập phân - bạn có thể chỉ định nhiều chữ số thập phân hơn trong mô hình định dạng của mình nếu được yêu cầu.
Ví dụ:
SELECT TO_CHAR(7, 'fm99D0000')
FROM DUAL;
Kết quả:
7.0000
ROUND()
Chức năng
Dưới đây là một ví dụ sử dụng ROUND(number)
chức năng:
SELECT ROUND(1.2573, 2)
FROM DUAL;
Kết quả:
1.26
T he ROUND()
hàm làm tròn một số đến một chữ số thập phân cho trước. Ở đây, chúng tôi đã chỉ định hai chữ số thập phân, nhưng chúng tôi có thể chỉ định bất kỳ số nào.
Trong trường hợp này, con số đã được làm tròn.
TRUNC()
Chức năng
Dưới đây là một ví dụ sử dụng TRUNC(number)
chức năng:
SELECT TRUNC(1.2573, 2)
FROM DUAL;
Kết quả:
1.25
TRUNC()
hàm cắt ngắn một số đến một vị trí thập phân nhất định. Không xảy ra làm tròn.