我如何在sql server 2008中格式化钱?

时间:2014-05-30 10:02:40

标签: sql-server-2008 tsql currency

表格中的数据为1128,5000。

我需要以1.128,50格式制作它。

逗号前的每3位数字都要添加点。

2 个答案:

答案 0 :(得分:1)

您可以在T-SQL中执行此操作但丑陋

select REPLACE(REPLACE(REPLACE(
    CONVERT(varchar(20),
    CONVERT(money,1128.5000), --If you already have money you don't need this bit
    1) --x,xxx.xx
    ,'.','?')
    ,',','.')
    ,'?',',')

结果:

1.128,50

答案 1 :(得分:0)

试试这个,我借鉴Mitch Wheat

declare @price as nvarchar(50)
declare @money varchar(50)
declare @pos int

set @price='1128,5000'
set @money = convert(varchar(50), CAST(@price AS money), 1)
declare @SAS NVARCHAR(50)
set @SAS=convert(varchar(20), CAST(@price AS money),1)
set stuff((sTUFF(@SAS,(len(@SAS) - (LEN(@SAS)-2)),1,'.'))  ,CHARINDEX(',', @SAS),1,'')