0

Função SQL - FU_FRMT_VALR - Formata valores decimais

Posted by Fabio's Blog on 09:45

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.

Copyright © 2009 Fabio's Blog All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive. Distribuído por Templates