2009-08-25 72 views
0

我有一個存儲過程查詢一些數據並將它發送給我,我想改變這個過程,以便使用千位這樣的逗號顯示數以千計的任何數字。我猜在SQL中這樣做的最好方法是將其轉換爲字符串並添加逗號?SQL Server整數格式化

謝謝

回答

2

這裏有一個相對乾淨的答案。轉換爲金錢(沒有數據類型損失)。然後轉換爲樣式爲1的varchar(它會爲您輸入逗號),然後從最後刪除.00,因爲它帶有貨幣數據類型。

select REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, 1234), 1), '.00', '') 

這是一個好線做一個內聯函數之前找出串多少操作,但這應該是一個相當快的轉換。

感謝, 埃裏克

1

正確。根據數據類型的定義,整數沒有格式。

因此,您必須將值轉換爲字符串(例如,varchar),或者更常見的做法是讓表現層處理值的格式。

+0

在這種情況下沒有介紹,如果發射與數據的電子郵件並列作爲存儲過程。 – Gavin 2009-08-25 14:59:16

0

如果你使用SQL Server作爲電子郵件的呈現(沒有其他報告應用程序)卡住,

SELECT CONVERT(varchar(24),CONVERT(money,CAST(12345678 AS VarChar(24))),1)

+0

有沒有這樣做的方式沒有小數位? – Gavin 2009-08-25 15:23:36

+0

請參閱@Strommy答案。 – JeffO 2009-08-25 15:49:35