Virgülleri büyük sayılara koymanın en iyi yolu


10

Yeni bir işe başladım ve bir sürü büyük sayıya bakmayı içeriyor. Bir alanı intveya decimalalana okunabilir hale getirmek için virgül eklemenin kolay bir yolu var mı ?

Örneğin, SQL Server soldaki sütunu çıkarır, ancak kendi akıl sağlığım için sağdaki gibi görünmesini istiyorum:

2036150 -> 2,036,150  

... ya da biraz iğrenç yazmak zorunda mıyım

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

fonksiyon?

Mükemmel olan şey, görüntü kılavuzundaki virgüller, daha sonra çıktıdaki düz tamsayılar olacaktır.

Yanıtlar:


15

SQL Server 2012+ kullanıyorsanız ve bunu yapmak istiyorsanız (ondalık basamaklar olmadan):

SELECT FORMAT(2036150, N'N0')

Daha eski bir sürümdeyseniz, bazı halkalardan atlamanız gerekir:

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

18

TSQL'in FORMAT işlevi bunu yapabilir. ÖRNEĞİN

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

çıktılar

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

Farklı bir ayırıcı kullanmak istiyorsanız, hala .Net biçim dizesinde özel bir anlamı, olan kullanın ve sonra ile başka bir şey değiştirin . ÖRNEĞİN:,

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

çıktılar

123_445_678.22
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.