miércoles, 2 de febrero de 2011

formato monetario en tsql

con esta funcion podemos recibir cualquier cadena numerica y ponerla con formato monetario es decir dos digitos para los centavos, y comas cada 3 digitos de derecha a izquierda


create function stringToMoney(@numero as varchar(100))
returns varchar(100)
as
begin
declare @partes as varchar(100)
set @partes =''
if LEN(@numero)>3
begin
--esta parte puede omitirse para el caso de numeros sin centavos
set @partes = '.'+SUBSTRING (@numero,LEN(@numero)-1,2)
set @numero = SUBSTRING (@numero,1,LEN(@numero)-2)
----------------------------------------------------------------
while (LEN(@numero)>3)
begin
set @partes = ','+SUBSTRING (@numero,LEN(@numero)-2,3)+@partes
set @numero = SUBSTRING (@numero,1,LEN(@numero)-3)
end
set @partes = @numero + @partes
end
return @partes
end
--asi se ejecutaria
select dbo.stringToMoney('463743497786') as [numero como dato], 'tus otros datos' as datos

No hay comentarios: