Jam*_*mes 11 sql-server number-formatting
我开始了一份新工作,它涉及到一堆大数字。有没有一种简单的方法可以在int
ordecimal
字段中添加逗号以使其可读?
例如,SQL Server 输出左侧的列,但为了我自己的理智,我需要它看起来像右侧的列:
2036150 -> 2,036,150
Run Code Online (Sandbox Code Playgroud)
...或者我必须写一些令人发指的
left(right(vandalized_data),6),3) + ',' + right(left(vandalized_data),6),3)
Run Code Online (Sandbox Code Playgroud)
功能?
完美的东西是显示网格中的逗号,然后是输出中的纯整数。
Dav*_*oft 18
TSQL 的FORMAT函数可以做到这一点。例如
select format(1232131312342132123.2222,'0,###.##')
Run Code Online (Sandbox Code Playgroud)
产出
1,232,131,312,342,132,123.22
Run Code Online (Sandbox Code Playgroud)
如果要使用不同的分隔符,您仍然使用.Net 格式字符串中,
具有特殊含义的which ,然后将 the 替换为,
其他内容。例如:
select replace(format(123445678.2222,'#,###.##'),',','_')
Run Code Online (Sandbox Code Playgroud)
产出
123_445_678.22
Run Code Online (Sandbox Code Playgroud)
Eri*_*ing 17
如果您使用的是 SQL Server 2012+,并且想要这样做(不带小数位):
SELECT FORMAT(2036150, N'N0')
Run Code Online (Sandbox Code Playgroud)
如果您使用的是早期版本,则必须跳过一些问题:
SELECT REPLACE(CONVERT(NVARCHAR(30), CAST((2036150) AS MONEY), 1), N'.00', N'')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14760 次 |
最近记录: |