Cara terbaik untuk menempatkan koma ke dalam jumlah besar


10

Saya telah memulai pekerjaan baru dan itu melibatkan melihat sekelompok besar. Apakah ada cara mudah untuk menambahkan koma ke bidang intatau decimalagar dapat dibaca?

Sebagai contoh, SQL Server menampilkan kolom di sebelah kiri, tetapi untuk kewarasan saya sendiri, saya membutuhkannya seperti yang ada di kanan:

2036150 -> 2,036,150  

... Atau saya harus menulis beberapa keji

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

fungsi?

Yang sempurna adalah koma di kotak display, lalu bilangan bulat polos di output.

Jawaban:


15

Jika Anda menggunakan SQL Server 2012+, dan Anda ingin melakukannya (tanpa tempat desimal):

SELECT FORMAT(2036150, N'N0')

Jika Anda menggunakan versi sebelumnya, Anda harus melewati beberapa rintangan:

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

18

Fungsi FORMAT TSQL dapat melakukannya. MISALNYA

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

output

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

Jika Anda ingin menggunakan pemisah yang berbeda, Anda masih menggunakan ,yang memiliki arti khusus dalam string format .Net, dan kemudian ganti ,dengan yang lain. MISALNYA:

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

output

123_445_678.22
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.