我正在使用SQL Server 2012。我需要为数字添加逗号。对于ex 2000,应该是2000。
我该怎么做呢?谢谢。
下面是我的问题:
declare @Term int = 20172;
Select
'Applications' as 'NEW FIRST-TIME FRESHMEN',
Cast(Round(((Cast(y.Last_Term As FLOAT)) * 1), 2) as varchar(10)) as 'Last_Term',
Cast(Round(((Cast(y.Current_Term AS FLOAT))*1),2) as varchar(10)) as 'Current_Term',
Cast(Round(((Cast(y.Current_Term AS FLOAT) - Cast(y.Last_Term AS FLOAT)) * 1), 2) as varchar(10)) as '#Change',
Cast(Round((((Cast(y.Current_Term AS FLOAT) - Cast(y.Last_Term AS FLOAT)) / (Cast(y.Last_Term AS FLOAT)))* 100), 2) as varchar(10)) + '%' as '%Change'
from
(Select
Case
When [ACADEMIC_PERIOD_ALL_SF_COMBINED] = @Term
Then 'Current_Term'
When [ACADEMIC_PERIOD_ALL_SF_COMBINED] = @Term-10
Then 'Last_Term'
End ACADEMIC_PERIOD_ALL_SF_COMBINED,
[APPLICATION_COUNT] Applied
From
[IR_DW].[dbo].[vw_dw_Applied_Admitted_Enrolled_F]
Where
STUDENT_LEVEL ='UG'
and STUDENT_POPULATION ='N'
and ACADEMIC_PERIOD_ALL_SF_COMBINED between @Term-10 and @Term
and ACADEMIC_PERIOD_ALL_SF_COMBINED like '%2') x
Pivot
(sum(Applied)
for ACADEMIC_PERIOD_ALL_SF_COMBINED in ([Current_Term] , [Last_Term])
)y发布于 2017-08-11 00:41:55
它实际上属于表示层,但在2012+中,您可以使用Format()。这是一个很棒的函数,但不是一个高性能的函数。
示例
Select Format(25302.25,'#,##0')返回
25,302发布于 2017-08-11 00:48:59
请参阅类似的问题here。您要做的是首先转换为MONEY,然后转换为VARCHAR。
https://stackoverflow.com/questions/45619173
复制相似问题