La mejor manera de poner comas en grandes números

10

Comencé un nuevo trabajo y consiste en mirar un montón de grandes números. ¿Hay una manera fácil de agregar comas a un campo into decimalpara que sea legible?

Por ejemplo, SQL Server genera la columna de la izquierda, pero para mi propia cordura, necesito que se vea como la de la derecha:

2036150 -> 2,036,150  

... o tendría que escribir algo atroz

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

¿función?

Lo perfecto serían comas en la cuadrícula de la pantalla, luego enteros simples en la salida.

James
fuente

Respuestas:

15

Si está utilizando SQL Server 2012+ y desea hacerlo (sin decimales):

SELECT FORMAT(2036150, N'N0')

Si estás en una versión anterior, tienes que saltar algunos aros:

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

La función FORMATO de TSQL puede hacer eso. P.EJ

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

salidas

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

Si desea usar un separador diferente, aún usa el ,que tiene un significado especial en la cadena de formato .Net y luego lo reemplaza ,con otra cosa. P.EJ:

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

salidas

123_445_678.22
David Browne - Microsoft
fuente