Hàm FORMAT() với locale
MySQL 5.5+ hỗ trợ locale parameter trong FORMAT().
SELECT FORMAT(cot_so, so_chu_so_thap_phan, 'de_DE') AS ten_alias FROM bang;
Ví dụ: Định dạng số lớn
Dữ liệu
+----+----------------------+ | Id | Number | +----+----------------------+ | 1 | 10000000000000.2 | | 2 | 1000.4 | | 3 | 1000000.6 | | 4 | 100000000.7 | | 5 | 100000000000000000.8 | +----+----------------------+
Truy vấn: 3 chữ số thập phân, locale de_DE
mysql> SELECT FORMAT(Number, 3, 'de_DE') AS Numberformat FROM formatNumberDemo;
Kết quả
+-----------------------------+ | Numberformat | +-----------------------------+ | 10.000.000.000.000,200 | | 1.000,400 | | 1.000.000,600 | | 100.000.000,700 | | 100.000.000.000.000.000,800 | +-----------------------------+
Giải thích locale de_DE
- Dấu chấm
.: Phân cách nhóm nghìn - Dấu phẩy
,: Phân cách phần thập phân - Chuẩn Đức/Châu Âu
Các locale phổ biến khác
| Locale | Nghìn | Thập phân | Ví dụ 1234.56 |
|---|---|---|---|
| en_US | , | . | 1,234.56 |
| de_DE | . | , | 1.234,56 |
| fr_FR | espace | , | 1 234,56 |
| vi_VN | . | , | 1.234,56 |
Lưu ý
- Kết quả là VARCHAR, không phải số → không dùng cho tính toán tiếp
- Chỉ dùng cho hiển thị/report
- MySQL 8.0.12 đã test OK