HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMajor

Best way to put commas into large numbers

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
intonumbersputwaylargecommasbest

Problem

I've started a new job and it involves looking at a bunch of big numbers. Is there an easy way to add commas to an int or decimal field to make it readable?

For example, SQL Server outputs the column on the left, but for my own sanity, I need it to look like the one on the right:

2036150 -> 2,036,150


...or would I have to write some heinous

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


function?

The perfect thing would be commas in the display grid, then plain integers in the output.

Solution

If you're on SQL Server 2012+, and you want to do it (without decimal places):

SELECT x = FORMAT(2036150, N'N0')


If you're on an earlier version, you have to jump through some hoops:

SELECT x = REPLACE(CONVERT(nvarchar(30), CONVERT(money, 2036150), 1), N'.00', N'');

Code Snippets

SELECT x = FORMAT(2036150, N'N0')
SELECT x = REPLACE(CONVERT(nvarchar(30), CONVERT(money, 2036150), 1), N'.00', N'');

Context

StackExchange Database Administrators Q#216816, answer score: 23

Revisions (0)

No revisions yet.