Sql server SQL Server 2005货币格式,带逗号';年代和时期
有没有一种方法可以在SQLServer2005中强制转换货币字段以对其进行格式化 Ex)该字段包含:Sql server SQL Server 2005货币格式,带逗号';年代和时期,sql-server,sql-server-2005,sql-server-2008,Sql Server,Sql Server 2005,Sql Server 2008,有没有一种方法可以在SQLServer2005中强制转换货币字段以对其进行格式化 Ex)该字段包含: 99966.00 我们希望以这种格式返回:$99966.00 '$' + convert(varchar,cast(SalesProducts.Price as money),-1) as Price 这很有效9'666,00瑞士法郎或99966.00英镑怎么样 “Currency”是数据库中的一个数字:不是区域或语言环境设置,请尝试此设置,它适用于SQL Server 2008及以下版本(
99966.00
我们希望以这种格式返回:$99966.00
'$' + convert(varchar,cast(SalesProducts.Price as money),-1) as Price
这很有效9'666,00瑞士法郎或99966.00英镑怎么样
“Currency”是数据库中的一个数字:不是区域或语言环境设置,请尝试此设置,它适用于SQL Server 2008及以下版本(2012已具有可使用的FORMAT()函数) 这只适用于数据类型Money和SmallMoney
declare @v money -- or smallmoney
set @v = 1000.0123
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)
希望这有帮助 试试看
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
好吗?你为什么要这么做?在有人更改SQL Server上的区域设置之前,数据层不应该为表示层设置数据格式。