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

4 Chức năng để định dạng một số thành 2 vị trí thập phân trong SQL Server

Khi sử dụng T-SQL với SQL Server, chúng ta có thể định dạng số bằng nhiều phương pháp khác nhau, tùy thuộc vào định dạng mong muốn của chúng ta.

Dưới đây là bốn hàm có thể được sử dụng để định dạng một số thành hai chữ số thập phân trong SQL Server.

CAST() Chức năng

Cách rõ ràng nhất để làm điều đó là chuyển số thành kiểu số thập phân. Hai hàm có thể thực hiện việc này cho chúng tôi là CAST()CONVERT() .

Dưới đây là một ví dụ về việc sử dụng CAST() :

 SELECT CAST(275 AS DECIMAL(5, 2)); 

Kết quả:

 275,00 

Chúng ta có thể sử dụng phương pháp này ngay cả khi số đã là giá trị thập phân nhưng có nhiều chữ số thập phân hơn.

Tuy nhiên, cần nhớ một điều là nếu bạn đang giảm số chữ số thập phân từ một số có nhiều hơn hai chữ số thập phân, thì bạn có thể kết thúc bằng chữ số thập phân thứ hai được làm tròn:

 SELECT CAST(275.4567 AS DECIMAL(5, 2)); 

Kết quả:

 275,46 

CONVERT() Chức năng

Ở đây, chúng tôi sử dụng CONVERT() để làm điều tương tự - chuyển số thành số thập phân:

 SELECT CONVERT(DECIMAL(5, 2), 275); 

Kết quả:

 275,00 

FORMAT() Chức năng

Một cách khác để định dạng một số có hai chữ số thập phân là sử dụng FORMAT() chức năng:

 SELECT FORMAT(275, 'N2'); 

Kết quả:

 275,00 

Hàm này thực sự chuyển đổi một số thành một chuỗi, vì vậy về mặt kỹ thuật, kết quả không phải là một kiểu số.

N2 một phần được gọi là một chuỗi định dạng. Trong trường hợp này, N là cho số và 2 là số vị trí thập phân (bạn có thể tăng hoặc giảm số này theo yêu cầu).

Kỹ thuật tương tự có thể được sử dụng để giảm các chữ số thập phân xuống còn hai, từ một số có nhiều chữ số thập phân hơn:

 SELECT FORMAT(275.4567, 'N2'); 

Kết quả:

 275,46 

Nó được làm tròn, giống như khi chúng ta chuyển đổi số trong ví dụ khác.

Một cách khác để làm điều đó là sử dụng một chuỗi định dạng tùy chỉnh. Chuỗi định dạng tùy chỉnh cho phép bạn chỉ định một định dạng có thể không được chuỗi định dạng chuẩn hỗ trợ.

Dưới đây là một ví dụ về việc sử dụng chuỗi định dạng tùy chỉnh:

 SELECT 
    FORMAT(275, '###.##') AS "###.##",
    FORMAT(275, '000.00') AS "000.00",
    FORMAT(275.4567, '###.##') AS "###.##",
    FORMAT(275.4567, '000.00') AS "000.00"; 

Kết quả:

 + ---------- + ---------- + ---------- + ---------- + | ###. ## | 000,00 | ###. ## | 000,00 || ---------- + ---------- + ---------- + ---------- || 275 | 275,00 | 275,46 | 275,46 | + ---------- + ---------- + ---------- + ---------- +  

Chúng ta có thể thấy rằng có sự khác biệt giữa việc sử dụng #0 trong chuỗi định dạng. # công cụ định dạng loại bỏ bất kỳ số 0 không đáng kể nào trong khi 0 định dạng không.

Nhưng có lẽ quan trọng hơn (cho mục đích của bài viết này), 0 công cụ định dạng cho phép bạn thêm các số không quan trọng nếu chúng không có trong số ban đầu. Do đó, nó có thể được sử dụng để thêm hai chữ số thập phân vào một số nguyên (như trong ví dụ trên).

STR() Chức năng

Một cách khác để định dạng một số thành hai chữ số thập phân là sử dụng STR() chức năng:

 SELECT STR(275, 6, 2); 

Kết quả:

 275,00 

Hàm này trả về dữ liệu ký tự được chuyển đổi từ dữ liệu số. Dữ liệu ký tự được căn phải, với độ dài và độ chính xác thập phân được chỉ định.

Đối số đầu tiên là một biểu thức của kiểu dữ liệu float với dấu thập phân.

Đối số thứ hai là tổng độ dài. Điều này bao gồm dấu thập phân, dấu, chữ số và dấu cách. Giá trị mặc định là 10.

Đối số thứ ba là số vị trí ở bên phải của dấu thập phân. Giá trị này phải nhỏ hơn hoặc bằng 16.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xem liệu một Bảng có Ràng buộc DEFAULT trong SQL Server hay không bằng cách sử dụng OBJECTPROPERTY ()

  2. Truy xuất dữ liệu từ quy trình được lưu trữ có nhiều bộ kết quả

  3. Tính toán băm MD5 của một chuỗi UTF8

  4. Tham gia loại bỏ:Khi máy chủ SQL loại bỏ các bảng không cần thiết

  5. Xuất dữ liệu bảng từ SQL Server này sang SQL Server khác