Khi sử dụng TO_CHAR()
để định dạng một số trong Cơ sở dữ liệu Oracle, bạn có thể sử dụng V
phần tử định dạng thành một giá trị trả về nhân với 10 (và nếu cần, hãy làm tròn nó lên), trong đó n
là số của 9
s sau V
.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT TO_CHAR(1, '9V9') FROM DUAL;
Kết quả:
10
Dưới đây là một số ví dụ khác:
SELECT
TO_CHAR(1, '9V99') AS "99",
TO_CHAR(1, '9V999') AS "999",
TO_CHAR(1, '9V9999') AS "9999",
TO_CHAR(1, '9V99999') AS "99999",
TO_CHAR(74, '99V999999') AS "999999"
FROM DUAL;
Kết quả:
99 999 9999 99999 999999 _______ ________ _________ __________ ____________ 100 1000 10000 100000 74000000
Dưới đây là một số ví dụ sử dụng phân số:
SELECT
TO_CHAR(1.23, '9V99') AS "r1",
TO_CHAR(0.23, '9V99') AS "r2",
TO_CHAR(-0.23, '9V99') AS "r3",
TO_CHAR(74.8934, '99V999999') AS "r4"
FROM DUAL;
Kết quả:
r1 r2 r3 r4 _______ _______ _______ ____________ 123 23 -23 74893400
Chúng ta có thể sử dụng fm
công cụ sửa đổi để loại bỏ bất kỳ khoảng đệm nào, chẳng hạn như dấu cách ở đầu / cuối:
SELECT
TO_CHAR(1.23, 'fm9V99') AS "r1",
TO_CHAR(0.23, 'fm9V99') AS "r2",
TO_CHAR(-0.23, 'fm9V99') AS "r3",
TO_CHAR(74.8934, 'fm99V999999') AS "r4"
FROM DUAL;
Kết quả:
r1 r2 r3 r4 ______ _____ ______ ___________ 123 23 -23 74893400
Làm tròn
Làm tròn số xảy ra nếu cần:
SELECT
TO_CHAR(1.1152, '9V99')
FROM DUAL;
Kết quả:
112