Função SQL - FU_FRMT_VALR - Formata valores decimais
Função SQL para formatar valores decimais e não ser preciso formatar na aplicação.
CREATE FUNCTION dbo.FU_FRMT_VALR(@valor decimal(20,2))
returns varchar(30)
as
begin
declare
@valor_char varchar(30)
,@valor_decm varchar(30)
,@valor_work varchar(30)
,@valor_retn varchar(30)
select @valor_char = replace(convert(varchar,@valor),'.',',')
select @valor_decm = substring(@valor_char,charindex(',',@valor_char),3)
select @valor_char = substring(@valor_char,1,charindex(',',@valor_char)-1)
select @valor_work = ''
select @valor_retn = ''
while len(@valor_char) > 3
begin
select @valor_work = '.' + right(@valor_char,3)
select @valor_char = substring(@valor_char,1,len(@valor_char)-3)
select @valor_retn = @valor_work + @valor_retn
end
select @valor_retn = @valor_char + @valor_retn + @valor_decm
return @valor_retn
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Espero que tenha sido útil.