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ố.
Để 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 ‰ | + -------- + -------- + ------ + -------- + |
|
Kí hiệu hàm mũ . Nếu theo sau ít nhất một số 0 ( 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 | + ---------- + |
| 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.
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) 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ố.