2010-11-24 41 views
5

2005年貨幣格式有沒有辦法投在SQL Server中的錢場2005年將其格式化SQL Server和逗號和週期

例)字段包含:

99966.00 

,我們想返回其格式爲:$ 99,966.00

+6

你爲什麼要這麼做?數據層不應該爲表示層格式化數據... – Lucero 2010-11-24 17:15:08

回答

15
'$' + convert(varchar,cast(SalesProducts.Price as money),-1) as Price 

這工作

+3

...直到有人更改SQL Server上的區域設置。 – Lucero 2010-11-24 18:18:34

1

什麼CHF 9'666,00或£99,966.00?

「貨幣」是數據庫中的一個數字:區域性或區域設置

2

試試這個它適用於SQL Server 2008和以下(2012年已經可以使用格式()函數)

這將僅適用於數據類型money和s​​mallmoney

declare @v money -- or smallmoney 
set @v = 1000.
select convert(varchar(25), @v, 0) 
select convert(varchar(25), @v, 1) 
select convert(varchar(25), @v, 2) 
select convert(varchar(25), @v, 126) 

select '$' + convert(varchar(25), @v, 0) 
select '$' + convert(varchar(25), @v, 1) 
select '$' + convert(varchar(25), @v, 2) 
select '$' + convert(varchar(25), @v, 126) 

希望這有助於!

0

嘗試

declare @d float = 34.5 

select format(@d, '0.0') -- 34.5 
select format(@d, '00') -- 35 
select format(@d, '0000') -- 0035 
select format(@d, '0000.00') -- 0034.50 

好?

相關問題