我正在使用SQL Server 2012,我正在运行以下T-SQL数据透视查询:
USE MyDatabase
SELECT PropertyCode, ISNULL([AUGUST 2015],0) AS 'August 2015' FROM
(
SELECT [PropertyCode], [MTH], [Package Revenue Excl VAT]
FROM [RSDLIST]) m
PIVOT (SUM([Package Revenue Excl VAT]) FOR [MTH] IN
([AUGUST 2015]
)) AS PVTTABLE
我输出的摘录如下所示:
PropertyCode August 2015
Smith 15071923.019032
Jones 2152483.164654
Steeve 7136836.891117
我需要格式化第二列,以便输出变为:
PropertyCode August 2015
Smith 15,071,923
Jones 2,152,483
Steeve 7,136,836
我看过这里提供的答案: Format a number with commas but without decimals in SQL Server 2008 R2
以及来自Microsoft的这个:Format (T-SQL)
我已尝试通过在第3行用以下内容替换[Package Revenue Excl VAT]来尝试第一个:
CONVERT(varchar,CAST(a.[Package Revenue Excl VAT] AS MONEY),1) AS 'Pkg Rev'
但是,由于这些值已转换为varchar,因此无法在Pivot查询中使用它们。
答案 0 :(得分:0)
--First
SELECT CONVERT(varchar, CAST(CAST(15071923.019032 as decimal(18,0)) AS money), 1)
-- Second
select replace(convert(varchar,CAST(CAST(15071923.019032 as decimal(18,0)) AS money),1), '.00','')
-- Third
SELECT Format(15071923.019032, '##,##0')
根据您的代码尝试
select PropertyCode, ISNULL(Format(15071923.019032, '##,##0') ,0) AS 'August 2015' FROM ....