2017-08-10 32 views
1

SQL Server 2012を使用しています。数値にコンマを追加する必要があります。 2000年の場合は2,000にする必要があります。SQL Serverの数値にカンマを追加する方法は?

どうすればいいですか?ありがとうございました。

はここに私のクエリです:

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 

output

+5

可能であれば、プレゼンテーションレイヤーでは、クエリ内のものを書式設定するのではなく、プレゼンテーションレイヤーで行う必要があります。 –

+0

私はそれを試みましたが、私はプレゼンテーション層に多くの変更を加えなければなりません。 –

+0

これはあなたができる最高のものです! :) –

答えて

4

は本当にプレゼンテーション層に属し、しかし2012+で、あなたはフォーマットを使用することができます()。それは素晴らしい機能ですが、高いパフォーマーではありません。

Select Format(25302.25,'#,##0') 

戻り

25,302 
1

同様の質問hereを参照してください。あなたがやることは、CAST to MONEYを最初に行い、次にCONVERTをVARCHARに変換することです。

+0

はい、私はそれを持っている:)を置き換える(変換(varchar、変換(お金、y.Last_Term)、1)、 '。00'、 '') 'Last_Term' –

関連する問題