Найкращий спосіб розміщувати коми у великій кількості


10

Я почав нову роботу, і це передбачає перегляд великої кількості. Чи є простий спосіб додати коси до поля intчи 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

Функція FORMAT TSQL може це зробити. EG

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

виходи

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

Якщо ви хочете використовувати інший роздільник, ви все одно використовуєте, ,який має особливе значення у рядку формату .Net, а потім замінюєте на ,щось інше. EG:

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

виходи

123_445_678.22
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.