Chúng tôi có một số tùy chọn nếu chúng tôi muốn hiển thị các số có dấu phần trăm trong PostgreSQL.
Chúng ta có thể sử dụng TO_CHAR()
chức năng định dạng số cùng với dấu phần trăm. Hoặc chúng ta có thể chỉ cần nối số với dấu phần trăm, với CONCAT()
hoặc với toán tử nối.
TO_CHAR()
Chức năng
Tùy chọn này liên quan đến việc chuyển số và một mẫu mẫu số cho hàm để trả về số được định dạng theo cách được chỉ định bởi mẫu mẫu. Để có một dấu phần trăm, chúng tôi đưa nó vào mẫu mẫu của chúng tôi:
SELECT TO_CHAR(35, 'fm00D00%');
Kết quả:
35.00%
Ở đây, tôi đã sử dụng 0
mẫu mẫu, có nghĩa là vị trí chữ số sẽ luôn được in, ngay cả khi nó chứa số 0 ở đầu / cuối.
Tôi cũng đã sử dụng fm
công cụ sửa đổi định dạng để loại bỏ bất kỳ số không hoặc khoảng trống ở đầu / cuối.
Đây là với một số mẫu mẫu khác:
SELECT
TO_CHAR(7, 'fm00%') AS "1",
TO_CHAR(7, 'fm99%') AS "2",
TO_CHAR(7.4567, 'fm0D00%') AS "3",
TO_CHAR(7, 'fm0D00%') AS "4";
Kết quả:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Chúng tôi có thể thực hiện một phép tính dựa trên con số nếu được yêu cầu:
SELECT
TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";
Kết quả:
+-------+--------+ | 1 | 2 | +-------+--------+ | 3.50% | 35.00% | +-------+--------+
Trong trường hợp này, tôi bao gồm 9
mẫu mẫu để bỏ qua bất kỳ số 0 nào ở đầu.
CONCAT()
Chức năng
Một cách khác để làm điều đó là sử dụng CONCAT()
hàm để nối số và dấu phần trăm:
SELECT CONCAT(35, '%');
Kết quả:
35%
Toán tử kết hợp
Một cách khác để nối số và dấu phần trăm là sử dụng toán tử ghép (||
):
SELECT 35 || '%';
Kết quả:
35%