カンマを大きな数に入れる最良の方法


10

私は新しい仕事を始めました、そしてそれはたくさんの大きな数を見ることを含みます。intor decimalフィールドにカンマを追加して読みやすくする簡単な方法はありますか?

たとえば、SQL Serverは左側の列を出力しますが、私自身の健全性のために、右側の列のようにする必要があります。

2036150 -> 2,036,150  

...または私は凶悪なものを書かなければならないでしょう

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

関数?

完璧なのは、表示グリッドのコンマであり、出力のプレーン整数です。

回答:


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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.