Il modo migliore per inserire virgole in grandi numeri


10

Ho iniziato un nuovo lavoro e implica guardare un mucchio di grandi numeri. C'è un modo semplice per aggiungere virgole a un campo into decimalper renderlo leggibile?

Ad esempio, SQL Server restituisce la colonna a sinistra, ma per la mia sanità mentale, ho bisogno che assomigli a quella a destra:

2036150 -> 2,036,150  

... o dovrei scrivere un po 'atroce

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

funzione?

La cosa perfetta sarebbe virgole nella griglia di visualizzazione, quindi interi semplici nell'output.

Risposte:


15

Se utilizzi SQL Server 2012+ e desideri farlo (senza cifre decimali):

SELECT FORMAT(2036150, N'N0')

Se sei su una versione precedente, devi saltare attraverso alcuni cerchi:

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

18

La funzione FORMAT di TSQL può farlo. PER ESEMPIO

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

uscite

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

Se si desidera utilizzare un separatore diverso, utilizzare comunque ,un significato speciale nella stringa di formato .Net, quindi sostituirlo ,con qualcos'altro. PER ESEMPIO:

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

uscite

123_445_678.22
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.