2010-11-24 17 views

Respuesta

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

esto funciona

+3

... hasta que alguien cambie la configuración regional en su servidor SQL. – Lucero

1

¿Qué hay de CHF o 9'666,00 £ 99,966.00?

"moneda" es un número en la base de datos: no regional o establecer

2

probar esto funciona para SQL Server 2008 y por debajo (2012 ya tienen una función Format() que puede utilizar la configuración regional)

esto sólo funciona para el tipo de datos de Money y sMALLMONEY

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) 

Esperamos que esta ayuda!

0

Trate

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 

bueno?

Cuestiones relacionadas