Định dạng số tiền sau phép tính trong MySQL
Sử dụng hàm FORMAT() để hiển thị số với dấu phân cách hàng nghìn và số chữ số thập phân cố định.
Tạo bảng và dữ liệu
mysql> create table DemoTable (
Price decimal(10,4),
Rate decimal(10,4)
);
Query OK, 0 rows affected (0.96 sec)
mysql> insert into DemoTable values(1000,10.2); mysql> insert into DemoTable values(2000,20.4); mysql> insert into DemoTable values(100,5);
Dữ liệu gốc
+-----------+---------+ | Price | Rate | +-----------+---------+ | 1000.0000 | 10.2000 | | 2000.0000 | 20.4000 | | 100.0000 | 5.0000 | +-----------+---------+
Truy vấn nhân và định dạng
mysql> select format((Price * Rate),2) from DemoTable;
Kết quả
+--------------------------+ | format((Price * Rate),2) | +--------------------------+ | 10,200.00 | | 40,800.00 | | 500.00 | +--------------------------+
Giải thích:
Price * Rate: Tính toán giá trị (1000×10.2=10200, v.v.)FORMAT(giatri, 2): Định dạng với 2 chữ số thập phân, thêm dấu phẩy phân cách nghìn- Kết quả trả về kiểu VARCHAR, không phải số
Ứng dụng: Hiển thị giá tiền, báo cáo tài chính dễ đọc. Nếu cần tính toán tiếp, hãy dùng giá trị gốc chưa format.