大量添加逗号的最佳方法


10

我已经开始了一项新工作,其中涉及查看一大堆数字。是否有一种简单的方法可以将逗号添加到intdecimal字段以使其可读?

例如,SQL Server输出左侧的列,但出于我的理智,我需要使其看起来像右侧的列:

2036150 -> 2,036,150  

...或者我不得不写一些令人发指的东西

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

功能?

完美的做法是在显示网格中添加逗号,然后在输出中添加纯整数。

Answers:


15

如果您使用的是SQL Server 2012+,并且想要这样做(不带小数位):

SELECT FORMAT(2036150, N'N0')

如果您使用的是较早版本,则必须跳过以下步骤:

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

18

TSQL的FORMAT函数可以做到这一点。例如

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

输出

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

如果要使用其他分隔符,请仍然使用.Net格式字符串中,具有特殊含义的分隔符,然后将其替换为,其他内容。例如:

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

输出

123_445_678.22
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.