Cách tốt nhất để đặt dấu phẩy với số lượng lớn


10

Tôi đã bắt đầu một công việc mới và nó liên quan đến việc xem xét một loạt các con số lớn. Có cách nào dễ dàng để thêm dấu phẩy vào một inthoặc decimaltrường để làm cho nó dễ đọc hơn không?

Ví dụ: SQL Server xuất ra cột bên trái, nhưng với sự tỉnh táo của riêng tôi, tôi cần nó trông giống như cột bên phải:

2036150 -> 2,036,150  

... hoặc tôi sẽ phải viết một số điều kinh khủng

left(right(vandalized_data),6),3) + ',' + right(left(vandalized_data),6),3)

chức năng?

Điều hoàn hảo sẽ là dấu phẩy trong lưới hiển thị, sau đó là số nguyên đơn giản trong đầu ra.

Câu trả lời:


15

Nếu bạn đang sử dụng SQL Server 2012+ và bạn muốn làm điều đó (không có số thập phân):

SELECT FORMAT(2036150, N'N0')

Nếu bạn đang ở phiên bản cũ hơn, bạn phải vượt qua một số vòng:

SELECT REPLACE(CONVERT(NVARCHAR(30), CAST((2036150) AS MONEY), 1), N'.00', N'')

18

Chức năng FORMAT của TSQL có thể làm điều đó. VÍ DỤ

select format(1232131312342132123.2222,'0,###.##')

đầu ra

1,232,131,312,342,132,123.22

Nếu bạn muốn sử dụng một dấu phân cách khác, bạn vẫn sử dụng ,ý nghĩa đặc biệt trong chuỗi định dạng .Net, sau đó thay thế ,bằng một thứ khác. VÍ DỤ:

select replace(format(123445678.2222,'#,###.##'),',','_')

đầu ra

123_445_678.22
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.