Trong MySQL, hàm FORMAT[]
chấp nhận một số làm đối số đầu tiên, theo sau là vị trí thập phân
SELECT FORMAT[123456.789, 2];
Kết quả
123,456.79
Không cần chỉ định vị trí của dấu phẩy. Hàm biết đặt chúng ở đâu
Đây là một ví dụ khác với số lượng lớn hơn
SELECT FORMAT[123456789.123456789, 6];
Kết quả
123,456,789.123457
Sử dụng dấu phẩy cho vị trí thập phân
Ở nhiều địa phương, dấu phẩy được sử dụng làm vị trí thập phân và dấu chấm/dấu chấm được sử dụng cho dấu tách nhóm
Hàm FORMAT[]
chấp nhận đối số thứ ba cho phép chúng tôi chỉ định ngôn ngữ sẽ sử dụng khi định dạng số
Thí dụ
SELECT FORMAT[123456.789, 2, 'de_DE'];
Kết quả
123.456,79
Trong trường hợp này, tôi đặt ngôn ngữ thành de_DE
, dành cho tiếng Đức. Lần này dấu phẩy được sử dụng làm số thập phân
Trong MySQL, bạn có thể sử dụng hàm FORMAT[]
để định dạng một số thành một định dạng cụ thể. Hàm này chấp nhận ba tham số;
cú pháp
Cú pháp diễn ra như thế này
FORMAT[X,D[,locale]]
Trong đó X là số bạn muốn định dạng, D là số vị trí thập phân bạn muốn làm tròn thành và ngôn ngữ là một đối số tùy chọn mà bạn có thể sử dụng để chỉ định ngôn ngữ sẽ sử dụng [xác định dấu thập phân của kết quả, hàng nghìn
Thí dụ
Đây là một ví dụ
SELECT FORMAT[1, 3];
Kết quả
________số 8_______Trong ví dụ này, tôi đã chỉ định rằng phải có 3 chữ số thập phân
Nếu bạn muốn xóa phần phân số khỏi một số, bạn có thể chỉ định 0
làm đối số vị trí thập phân
Tóm lược. hướng dẫn này chỉ cho bạn cách sử dụng hàm FORMAT
của MySQL để định dạng số thập phân ở nhiều ngôn ngữ khác nhau
Giới thiệu về chức năng MySQL FORMAT
Đôi khi, bạn sử dụng một biểu thức hoặc một hàm tổng hợp chẳng hạn như AVG để tính toán các giá trị trong cơ sở dữ liệu chẳng hạn như vòng quay hàng tồn kho, giá thực trung bình của sản phẩm và giá trị hóa đơn trung bình
Kết quả của biểu thức là một số thập phân có nhiều chữ số thập phân. Để định dạng các số đó, bạn sử dụng hàm FORMAT
theo cú pháp sau
Code language: SQL [Structured Query Language] [sql]
FORMAT[N,D,locale];
Hàm FORMAT
định dạng số N thành định dạng như '#,###,###. ##’, làm tròn đến D chữ số thập phân. Nó trả về một giá trị dưới dạng một chuỗi
Hàm FORMAT
chấp nhận ba đối số
3 là số mà bạn muốn định dạng
Code language: SQL [Structured Query Language] [sql]SELECT FORMAT[12500.2015, 2];
4 là số chữ số thập phân mà bạn muốn làm tròn
Code language: SQL [Structured Query Language] [sql]SELECT FORMAT[12500.2015, 2];
- Ngôn ngữ là một đối số tùy chọn xác định hàng nghìn dấu phân cách và nhóm giữa các dấu phân cách. Nếu bạn bỏ qua toán tử ngôn ngữ, MySQL sẽ sử dụng
5 theo mặc định. Liên kết sau đây cung cấp tất cả các tên ngôn ngữ được hỗ trợ bởi MySQL
Code language: SQL [Structured Query Language] [sql]SELECT FORMAT[12500.2015, 2];
Các ví dụ về hàm MySQL FORMAT
Xem các ví dụ sau về cách sử dụng hàm FORMAT
Code language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 2];
Câu lệnh sau sử dụng hàm FORMAT
với đối số thứ hai là 0, do đó, kết quả không có bất kỳ chữ số thập phân nào
Code language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 0];
Câu lệnh sau sử dụng ngôn ngữ
9 thay vì ngôn ngữCode language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 2];
5Code language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 2];
Code language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 2,'de_DE'];
Như bạn thấy trong kết quả, dấu chấm sử dụng ngôn ngữ
9 [. ] để nhóm hàng nghìn và dấu phẩy [,] cho dấu thập phânCode language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 2];
Hãy xem bảng
2 trong cơ sở dữ liệu mẫuCode language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 0];
Để tính giá trị tồn kho của từng sản phẩm, bạn nhân số lượng trong kho với giá mua như sau
Code language: SQL [Structured Query Language] [sql]
SELECT productname, quantityInStock * buyPrice stock_value FROM products;
Kết quả có vẻ không đẹp vì có nhiều chữ số thập phân
Để làm cho nó tốt hơn, bạn có thể kết hợp hai chức năng. FORMAT
và
4. HàmCode language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 0];
FORMAT
định dạng giá trị cổ phiếu được làm tròn đến 2 chữ số thập phân. Và hàm CONCAT thêm ký hiệu USD [$] vào đầu chuỗi giá trị chứng khoánCode language: SQL [Structured Query Language] [sql]
SELECT productname, CONCAT['$', FORMAT[quantityInStock * buyPrice, 2]] stock_value FROM products;
Lưu ý rằng hàm FORMAT
trả về một giá trị chuỗi. Điều đó có nghĩa là nếu bạn muốn sắp xếp kết quả của hàm FORMAT
bằng mệnh đề ORDER BY, MySQL sẽ sắp xếp kết quả bằng cách sử dụng chuỗi chứ không phải số
Ví dụ: câu lệnh sau sắp xếp các giá trị cổ phiếu theo thứ tự bảng chữ cái
Code language: SQL [Structured Query Language] [sql]
SELECT productname, CONCAT['$', FORMAT[quantityInStock * buyPrice, 2]] stock_value FROM products ORDER BY stock_value;
Để sắp xếp các giá trị cổ phiếu theo số lượng, bạn đặt biểu thức trong mệnh đề
8 như sauCode language: SQL [Structured Query Language] [sql]
SELECT FORMAT[12500.2015, 0];
Code language: SQL [Structured Query Language] [sql]
SELECT productname, CONCAT['$', FORMAT[quantityInStock * buyPrice, 2]] stock_value FROM products ORDER BY quantityInStock * buyPrice;
Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách sử dụng hàm FORMAT
của MySQL để định dạng một số bằng các tên ngôn ngữ khác nhau