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

Chuỗi định dạng số tùy chỉnh được hỗ trợ bởi FORMAT () trong SQL Server

Bài viết này cung cấp tham chiếu cho các mã định dạng số tùy chỉnh có thể được sử dụng khi định dạng số bằng FORMAT() chức năng trong SQL Server. Các ví dụ bao gồm.

Chuỗi định dạng Mô tả / Ví dụ
0

Không có trình giữ chỗ . Thay thế số 0 bằng chữ số tương ứng nếu có một chữ số; nếu không, số 0 xuất hiện trong chuỗi kết quả.

Ví dụ :

 CHỌN ĐỊNH DẠNG (12.34, '0') R1, ĐỊNH DẠNG (012.34, '00') R2, ĐỊNH DẠNG (12.34, '000') R3, ĐỊNH DẠNG (012.34, '0000') R4, ĐỊNH DẠNG (12.54, '00 ') R5; + ------ + ------ + ------ + ------ + ------ + | R1 | R2 | R3 | R4 | R5 || ------ + ------ + ------ + ------ + ------ || 12 | 12 | 012 | 0012 | 13 | + ------ + ------ + ------ + ------ + ------ + 
#

Trình giữ chỗ chữ số . Thay thế biểu tượng “#” bằng chữ số tương ứng nếu có; nếu không, không có chữ số nào xuất hiện trong chuỗi kết quả.

Không có chữ số nào xuất hiện trong chuỗi kết quả nếu chữ số tương ứng trong chuỗi đầu vào là số 0 không có nghĩa.

Ví dụ :

 CHỌN ĐỊNH DẠNG (12.34, '#') R1, ĐỊNH DẠNG (012.34, '##') R2, ĐỊNH DẠNG (12.34, '###') R3, ĐỊNH DẠNG (012.34, '####') R4, ĐỊNH DẠNG (12.54, '##') R5; + ------ + ------ + ------ + ------ + ------ + | R1 | R2 | R3 | R4 | R5 || ------ + ------ + ------ + ------ + ------ || 12 | 12 | 12 | 12 | 13 | + ------ + ------ + ------ + ------ + ------ + 
.

Dấu thập phân . Xác định vị trí của dấu phân tách thập phân trong chuỗi kết quả.

Ví dụ :

 SELECT FORMAT (12.34, '0.0', 'en-US') R1, FORMAT (12.34, '.00', 'en-US') R2, FORMAT (12.34, '.', 'en-US' ) R3, ĐỊNH DẠNG (12,34, '.00', 'fr-FR') R4; + ------ + ------- + ------ + ------- + | R1 | R2 | R3 | R4 || ------ + ------- + ------ + ------- || 12,3 | 12,34 | 12 | 12,34 | + ------ + ------- + ------ + ------- + 
,

Dấu phân tách nhóm và chia tỷ lệ số . Có thể được sử dụng làm cả dấu phân tách nhóm (còn được gọi là dấu phân cách nghìn) và bộ định tỷ lệ số.

  • Làm dấu phân tách nhóm , nó sẽ chèn một ký tự phân tách nhóm đã bản địa hóa giữa mỗi nhóm.
  • Là một công cụ xác định tỷ lệ số , nó chia một số cho 1000 cho mỗi dấu phẩy được chỉ định.

Để chỉ định dấu phân tách nhóm, hãy đặt một hoặc nhiều dấu phẩy giữa hai chữ số giữ chỗ (0 hoặc #) để định dạng các chữ số tích phân của một số. Điều này dẫn đến ký tự phân tách nhóm được chèn vào giữa mỗi nhóm số trong phần tích hợp của đầu ra.

Để chỉ định công cụ xác định tỷ lệ số, hãy đặt một hoặc nhiều dấu phẩy ngay bên trái dấu thập phân rõ ràng hoặc ẩn.

Ví dụ - Làm dấu phân tách nhóm :

 CHỌN ĐỊNH DẠNG (12345678, '#, #', 'en-US') 'Tiếng Anh Mỹ', ĐỊNH DẠNG (12345678, '#, #', 'fr-FR') 'Tiếng Pháp', ĐỊNH DẠNG (12345678, ' #, # ',' es-ES ')' Tiếng Tây Ban Nha '; + -------------- + ------------ + ------ ------ + | Tiếng Anh Mỹ | Tiếng Pháp | Tiếng Tây Ban Nha || -------------- + ------------ + ------------ || 12,345,678 | 12 345 678 | 12.345.678 | + -------------- + ------------ + ------------ + 

Ví dụ - Là công cụ chỉ định tỷ lệ số :

 CHỌN ĐỊNH DẠNG (12000, '#,', 'en-US') 'R1', ĐỊNH DẠNG (1234567890, '#,', 'vi-US') R2, ĐỊNH DẠNG (1234567890, '# ,,', 'en-US') R3; + ------ + --------- + ------ + | R1 | R2 | R3 || ------ + --------- + ------ || 12 | 1234568 | 1235 | + ------ + --------- + ------ + 

Ví dụ - Như cả hai :

 CHỌN ĐỊNH DẠNG (1234567890, '#, #,', 'en-US') R1, ĐỊNH DẠNG (1234567890, '#, # ,,', 'en-US') R2; + ------ ----- + ------- + | R1 | R2 || ----------- + ------- || 1.234.568 | 1,235 | + ----------- + ------- + 
%

Phần trăm giữ chỗ . Nhân một số với 100 và chèn ký hiệu tỷ lệ phần trăm đã bản địa hóa vào chuỗi kết quả.

Ví dụ :

 CHỌN ĐỊNH DẠNG (0.1234, '#. #%', 'en-US') R1, ĐỊNH DẠNG (0.1235, '#. #%', 'zh-cn') R2, ĐỊNH DẠNG (0.125, '#.% ',' en-US ') R3, ĐỊNH DẠNG (0.1234,'% #. 00, ',' tr ') R4, ĐỊNH DẠNG (0.1234,' #. #% ',' it ') R5; + ---- ---- + ------- + ------ + -------- + ------- + | R1 | R2 | R3 | R4 | R5 || -------- + ------- + ------ + -------- + ------- || 12,3% | 12,4% | 13% | % 12,34 | 12,3% | + -------- + ------- + ------ + -------- + ------- +  

Phần giữ chỗ trên mỗi mille . Nhân một số với 1000 và chèn một ký hiệu được bản địa hóa trên mỗi mille vào chuỗi kết quả.

Ví dụ :

 CHỌN ĐỊNH DẠNG (0.01234, '#. # ‰', 'en-US') 'R1', ĐỊNH DẠNG (0.01235, '#. # ‰', 'vi-US') R2, ĐỊNH DẠNG (0,0125, '# . ‰ ',' en-US ') R3, ĐỊNH DẠNG (0,01234,' #. # ‰ ',' fr-FR ') R4; + -------- + -------- + ------ + -------- + | R1 | R2 | R3 | R4 || -------- + -------- + ------ + -------- || 12,3 ‰ | 12,4 ‰ | 13 ‰ | 12,3 ‰ | + -------- + -------- + ------ + -------- + 

E0
E+0
E-0
e0
e+0
e-0

Kí hiệu hàm mũ . Nếu theo sau ít nhất một số 0 (0 ), định dạng kết quả bằng cách sử dụng ký hiệu hàm mũ. Trường hợp (E hoặc e ) chỉ ra trường hợp của ký hiệu số mũ trong chuỗi kết quả. Số lượng các số không theo sau E hoặc e ký tự xác định số chữ số tối thiểu trong số mũ. Dấu cộng (+ ) chỉ ra rằng một ký tự dấu luôn đứng trước số mũ. Dấu trừ (- ) chỉ ra rằng một ký tự dấu chỉ đứng trước số mũ âm.

Ví dụ :

 CHỌN ĐỊNH DẠNG (123456789, '0e0') R1, ĐỊNH DẠNG (123456789, '0e + 0') R2, ĐỊNH DẠNG (123456789, '0E + 00') R3, ĐỊNH DẠNG (1234.56789, '0.0 ## e + 00' ) R4, ĐỊNH DẠNG (12.3456789-12, '0e-0') R5; + ------ + ------ + ------- + ---------- - + ------ + | R1 | R2 | R3 | R4 | R5 || ------ + ------ + ------- + ----------- + ------ || 1e8 | 1e + 8 | 1E + 08 | 1,235e + 03 | 3e-1 | + ------ + ------ + ------- + ----------- + ------ + 

\

Ký tự thoát . Khiến ký tự tiếp theo được hiểu là một chữ thay vì là một mã định dạng tùy chỉnh.

Ví dụ :

 SELECT FORMAT (123, '\ # 0000') Kết quả; + ---------- + | Kết quả || ---------- || # 0123 | + ---------- + 

'string'
"string"

Dấu phân cách chuỗi chữ . Cho biết rằng các ký tự kèm theo phải được sao chép vào chuỗi kết quả không thay đổi.

Ví dụ :

 SELECT FORMAT (23, '## Degrees') Kết quả; + ------------ + | Kết quả || ------------ || 23 độ | + ------------ + 

;

Dấu phân cách phần . Đây là công cụ định dạng có điều kiện xác định các phần có chuỗi định dạng riêng biệt cho số dương, số âm và số 0. Điều này cho phép bạn áp dụng các định dạng khác nhau cho một số tùy thuộc vào việc giá trị của nó là dương, âm hay 0. Chuỗi định dạng tùy chỉnh có thể chứa tối đa ba phần được phân tách bằng dấu chấm phẩy.

  • Một phần :Chuỗi định dạng áp dụng cho tất cả các giá trị (giống như trong các ví dụ trước).
  • Hai phần :Phần đầu tiên áp dụng cho các giá trị dương và số không, và phần thứ hai áp dụng cho các giá trị âm.

    Nếu số được định dạng là số âm, nhưng trở thành số 0 sau khi làm tròn theo định dạng trong phần thứ hai, thì số 0 kết quả sẽ được định dạng theo phần đầu tiên.

  • Ba phần :Phần đầu tiên áp dụng cho các giá trị dương, phần thứ hai áp dụng cho các giá trị âm và phần thứ ba áp dụng cho các số không.

    Phần thứ hai có thể để trống (do không có gì giữa các dấu chấm phẩy), trong trường hợp đó, phần đầu tiên áp dụng cho tất cả các giá trị khác không.

    Nếu số được định dạng khác không, nhưng trở thành số 0 sau khi làm tròn theo định dạng trong phần thứ nhất hoặc thứ hai, thì số 0 kết quả sẽ được định dạng theo phần thứ ba.

Lưu ý rằng các giá trị âm luôn được hiển thị mà không có dấu trừ khi dấu phân cách phần được sử dụng. Nếu bạn muốn giá trị được định dạng cuối cùng có dấu trừ, bạn cần phải bao gồm dấu trừ một cách rõ ràng như một phần của chuỗi định dạng tùy chỉnh. Điều này cũng áp dụng cho bất kỳ định dạng có sẵn nào khác được liên kết với một số.

Ví dụ - Một phần (không có dấu phân tách phần)
Đây là một chuỗi định dạng điển hình bao gồm một phần (giống như trong các ví dụ trước). Do đó, không có dấu phân tách nào được sử dụng.

 CHỌN ĐỊNH DẠNG (123, '0 (Số)') Dương, ĐỊNH DẠNG (-123, '0 (Số)') Tiêu cực, ĐỊNH DẠNG (0, '0 (Số)') Không; + ----- --------- + --------------- + ------------ + | Tích cực | Tiêu cực | Số không || -------------- + --------------- + ------------ || 123 (Số) | -123 (Số) | 0 (Số) | + -------------- + --------------- + ------------ + 

Lưu ý rằng dấu trừ vẫn còn nguyên vì tôi không sử dụng bất kỳ dấu phân tách phần nào.

Ví dụ - Hai phần :

 / * VÍ DỤ 1 - Chuỗi định dạng giống nhau, các giá trị khác nhau * / SELECT FORMAT (123, '0 (Positive or Zero); 0 (Negative)') Positive, FORMAT (-123, '0 (Positive or Zero); 0 (Phủ định) ') Phủ định, ĐỊNH DẠNG (0,' 0 (Dương hoặc Không); 0 (Âm) ') Không; + --------------------- --- + ----------------- + ---------------------- + | Tích cực | Tiêu cực | Số không || ------------------------ + ----------------- + ---- ------------------ || 123 (Tích cực hoặc Không) | 123 (Tiêu cực) | 0 (Dương hoặc Không) | + ------------------------ + ------------------ + ---------------------- + / * VÍ DỤ 2 - Làm tròn số. Các giá trị âm được làm tròn đến 0 được định dạng theo chuỗi định dạng đầu tiên. * / CHỌN ĐỊNH DẠNG (0.1, '0 (Dương hoặc Không); 0 (Âm)') Dương, ĐỊNH DẠNG (-0.1, '0 (Dương hoặc Không); 0 (Âm)') Tiêu cực; + ----- ----------------- + ---------------------- + | Tích cực | Tiêu cực || ---------------------- + ---------------------- || 0 (Tích cực hoặc Không) | 0 (Dương hoặc 0) | + ---------------------- + ------------------- --- + 

Ví dụ - Ba phần :

 / * VÍ DỤ 1 - Cách sử dụng cơ bản * / CHỌN ĐỊNH DẠNG (123, '0 (Dương); 0 (Âm); 0 (Không)') Kết quả; + ------------- --- + | Kết quả || ---------------- || 123 (Dương) | + ---------------- + / * VÍ DỤ 2 - Chuỗi định dạng giống nhau, các giá trị khác nhau * / CHỌN ĐỊNH DẠNG (123, '0 (Dương); 0 (Âm ); 0 (Không) ')' Tích cực ', ĐỊNH DẠNG (-123,' 0 (Tích cực); 0 (Tiêu cực); 0 (Không) ')' Tiêu cực ', ĐỊNH DẠNG (0,' 0 (Dương tính); 0 ( Âm); 0 (Không) ')' Không ', ĐỊNH DẠNG (0,123,' 0 (Dương); 0 (Âm); 0 (Không) ')' Làm tròn đến 0 '; + --------- ------- + ---------------- + ----------- + ------------- ------ + | Tích cực | Tiêu cực | Số không | Làm tròn đến 0 || ---------------- + ---------------- + ----------- + ------------------- || 123 (Tích cực) | 123 (Tiêu cực) | 0 (Không) | 0 (Không) | + ---------------- + ---------------- + ---------- - + ------------------- + / * VÍ DỤ 3 - Chuỗi định dạng thứ hai trống * / CHỌN ĐỊNH DẠNG (123, '0 (Dương);; 0 (Không) ')' Tích cực ', ĐỊNH DẠNG (-123,' 0 (Dương);; 0 (Không) ')' Âm ', ĐỊNH DẠNG (0,' 0 (Dương);; 0 (Không) ')' Không ', ĐỊNH DẠNG (0,123, '0 (Dương);; 0 (Không)') 'Làm tròn đến 0'; + ---------------- + ---------- ------- + ----------- + ------------------- + | Tích cực | Tiêu cực | Số không | Làm tròn đến 0 || ---------------- + ----------------- + ---------- - + ------------------- || 123 (Tích cực) | -123 (Tích cực) | 0 (Không) | 0 (Không) | + ---------------- + ----------------- + --------- - + ------------------- + 
Khác

Tất cả các ký tự khác. Ký tự được sao chép vào chuỗi kết quả không thay đổi.

Ví dụ :

 CHỌN ĐỊNH DẠNG (12, '# ° C') Kết quả; + ---------- + | Kết quả || ---------- || 12 ° C | + ---------- + 

Danh sách trên là danh sách đầy đủ các chuỗi định dạng tùy chỉnh .NET hợp lệ, dựa trên thông tin từ tài liệu .NET chính thức cho Chuỗi định dạng tùy chỉnh trên trang web của Microsoft tại thời điểm viết bài.

Lý do vì những điều này có liên quan đến SQL Server FORMAT() chức năng là nó chỉ chấp nhận các chuỗi định dạng .NET Framework hợp lệ.

Ngoài tùy chỉnh ở trên định dạng chuỗi, bạn cũng có thể sử dụng tiêu chuẩn định dạng chuỗi. Dưới đây là danh sách đầy đủ các Chuỗi định dạng số chuẩn mà bạn có thể sử dụng với SQL Server.

Bạn cũng có thể định dạng giá trị ngày và giờ. Xem danh sách Chuỗi định dạng ngày và giờ chuẩn cũng như Chuỗi định dạng ngày và giờ tùy chỉnh mà bạn có thể sử dụng với FORMAT() chức năng.

Nếu bạn vẫn đang cố gắng hiểu chuỗi định dạng thậm chí là gì, hãy xem Chuỗi định dạng trong SQL Server là gì? để hiểu cơ bản về các chuỗi định dạng và cách chúng liên quan đến FORMAT() hàm số.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất cho khóa chính trong bảng là gì?

  2. Chọn và chỉnh sửa khối dọc trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 9

  3. 4 cách giúp ngăn quá tải cảnh báo với tính năng giám sát máy chủ SQL

  4. SQL Server 2008 Windows Auth Login Error:Đăng nhập từ một miền không đáng tin cậy

  5. Cách khắc phục “Danh sách chọn cho câu lệnh INSERT chứa ít mục hơn danh sách chèn”