Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách định dạng số dưới dạng tiền tệ trong SQL Server (T-SQL)

Trong SQL Server, bạn có thể sử dụng T-SQL FORMAT() chức năng định dạng một số dưới dạng tiền tệ.

FORMAT() hàm cho phép bạn định dạng số, ngày tháng, đơn vị tiền tệ, v.v. Nó chấp nhận ba đối số; số, định dạng và đối số "văn hóa" tùy chọn. Bài viết này đề cập cụ thể đến việc sử dụng đối số định dạng để chỉ định đơn vị tiền tệ.

Ví dụ 1 - Cách sử dụng cơ bản

Dưới đây là một ví dụ về định dạng một số dưới dạng đơn vị tiền tệ:

Kết quả
SELECT FORMAT(1234, 'C') Result;

Kết quả:

+-----------+
| Result    |
|-----------|
| $1,234.00 |
+-----------+

Trong trường hợp này, tôi đã sử dụng C như đối số thứ hai. Đây là chuỗi định dạng số tiêu chuẩn cho Tiền tệ.

Ví dụ 2 - Phân biệt chữ hoa chữ thường

Đối số này không phân biệt chữ hoa chữ thường, vì vậy C hoặc c trả về cùng một kết quả:

Kết quả
SELECT FORMAT(1234, 'c') Result;

Kết quả:

+-----------+
| Result    |
|-----------|
| $1,234.00 |
+-----------+

Ví dụ 3 - Vị trí thập phân

Đây là một ví dụ khác, lần này sử dụng C0 để chỉ rõ rằng chúng tôi không muốn có bất kỳ vị trí thập phân nào:

Kết quả
SELECT FORMAT(1234, 'C0') Result;

Kết quả:

+----------+
| Result   |
|----------|
| $1,234   |
+----------+

Đây được gọi là “công cụ xác định độ chính xác”, có thể vì nó cho phép bạn chỉ định độ chính xác mà kết quả được hiển thị.

Bạn cũng có thể tăng số lượng vị trí thập phân:

Kết quả
SELECT FORMAT(1234, 'C4') Result;

Kết quả:

+-------------+
| Result      |
|-------------|
| $1,234.0000 |
+-------------+

Ví dụ 4 - Ngôn ngữ

Tất cả các ví dụ trước đều dẫn đến ký hiệu đô la được bắt đầu bằng số. Điều này là tốt nếu đơn vị tiền tệ mong muốn là đô la, nhưng nếu bạn cần hiển thị nó bằng một đơn vị tiền tệ khác thì sao?

Bạn có thể sử dụng đối số thứ ba để chỉ định ngôn ngữ. Điều này sẽ tự động dẫn đến ký hiệu tiền tệ thích hợp được sử dụng cho ngôn ngữ đó:

Kết quả
SELECT FORMAT(1234, 'C', 'fr-FR') Result;

Kết quả:

+------------+
| Result     |
|------------|
| 1 234,00 € |
+------------+

Dưới đây là một số ngôn ngữ khác:

SELECT 
  FORMAT(1234, 'C', 'fr-FR') 'France',
  FORMAT(1234, 'C', 'zh-cn') 'China',
  FORMAT(1234, 'C', 'th-TH') 'Thailand',
  FORMAT(1234, 'C', 'de-DE') 'Germany';

Kết quả:

+------------+-----------+------------+------------+
| France     | China     | Thailand   | Germany    |
|------------+-----------+------------+------------|
| 1 234,00 € | ¥1,234.00 | ฿1,234.00  | 1.234,00 € |
+------------+-----------+------------+------------+

Nếu văn hóa đối số không được chỉ định, ngôn ngữ của phiên hiện tại được sử dụng.

Đây là cách tìm ngôn ngữ của phiên hiện tại và đây là cách đặt ngôn ngữ đó.

Lưu ý rằng ngôn ngữ hiện tại thường sẽ giống với ngôn ngữ mặc định của người dùng, nhưng điều này có thể không đúng nếu người dùng đã thay đổi ngôn ngữ hiện tại bằng cách sử dụng SET LANGUAGE . Trong mọi trường hợp, bạn cũng có thể tìm hiểu ngôn ngữ mặc định là gì.

Như bạn có thể tưởng tượng, bạn có thể nhận được các kết quả khá khác nhau tùy thuộc vào ngôn ngữ hiện tại của bạn hoặc giá trị của bất kỳ lập luận “văn hóa” nào. Xem Cách cài đặt ngôn ngữ có thể ảnh hưởng đến kết quả FORMAT () của bạn để biết thêm ví dụ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thực hiện lệnh Chèn và trả về Id đã chèn trong Sql

  2. Giải thích về ANSI_NULLS của Máy chủ SQL

  3. Kiểm tra tình trạng máy chủ SQL chủ động, Phần 4:LỖI

  4. Sửa đổi công việc tác nhân máy chủ SQL (T-SQL)

  5. So sánh máy ảo trên đám mây với cơ sở dữ liệu đám mây được quản lý