MariaDB có FORMAT()
, định dạng một số dựa trên chuỗi định dạng đã cho.
Nó trả về số dưới dạng một chuỗi được định dạng, với dấu phân cách hàng nghìn và phần thập phân ở vị trí thích hợp và làm tròn kết quả đến vị trí thập phân được chỉ định.
Bạn có thể tùy chọn chỉ định một giá trị ngôn ngữ để định dạng số thành mẫu thích hợp cho khu vực nhất định.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT FORMAT(123456.789, 2);
Kết quả:
123,456.79
Trong trường hợp này, tôi đã chỉ định 2
cho đối số thứ hai và do đó số được làm tròn đến hai chữ số thập phân.
Ngoài ra, dấu phẩy đã được chèn cho dấu phân tách hàng nghìn và dấu chấm / dấu chấm đầy đủ được sử dụng cho dấu phân tách thập phân.
Dưới đây là một ví dụ khác sử dụng các giá trị khác nhau cho đối số thứ hai:
SELECT
FORMAT(123456.789, 0) AS "1",
FORMAT(123456.789, 4) AS "2",
FORMAT(123456.789, 6) AS "3";
Kết quả:
+---------+--------------+----------------+ | 1 | 2 | 3 | +---------+--------------+----------------+ | 123,457 | 123,456.7890 | 123,456.789000 | +---------+--------------+----------------+
Chỉ định một ngôn ngữ
Dưới đây là một số ví dụ về việc chỉ định ngôn ngữ:
SELECT
FORMAT(123456.789, 2, 'ta_IN') AS "Tamil, India",
FORMAT(123456.789, 2, 'de_DE') AS "German, Germany",
FORMAT(123456.789, 2, 'zh_HK') AS "Chinese, Hong Kong";
Kết quả:
+--------------+-----------------+--------------------+ | Tamil, India | German, Germany | Chinese, Hong Kong | +--------------+-----------------+--------------------+ | 1,23,456.79 | 123.456,79 | 123,456.79 | +--------------+-----------------+--------------------+
Xem Cách hiển thị tất cả các ngôn ngữ trong MariaDB để có danh sách các ngôn ngữ có thể được chỉ định bằng chức năng này.
Định dạng tiền tệ
FORMAT()
hàm không cung cấp phương tiện để định dạng số dưới dạng tiền tệ. Tuy nhiên, bạn có thể sử dụng CONCAT()
chức năng để nối các kết quả với ký hiệu tiền tệ mà bạn chọn:
SELECT CONCAT('$', FORMAT(8790.2398, 2));
Kết quả:
$8,790.24
Điều này rõ ràng yêu cầu bạn chỉ định ký hiệu tiền tệ chính xác cho ngôn ngữ đang được sử dụng.