none
De 3221.45 para 3.221,45 RRS feed

  • Pergunta

  • Pessoal gostaria de formatar o campo VALOR para ser exibido no formato de "." para milhar e "," para decimal e caso não haja a decimal, como por exemplo 3221 para 3.221,00, ficar 00 após a vírgula.

    SELECT VALOR FROM NOTA

    quinta-feira, 16 de maio de 2013 20:38

Respostas

Todas as Respostas

  • Marques, qual o tipo do seu campo valor ? float, numeric, varchar, etc...

    Alexandre Matayosi Conde Mauricio.

    quinta-feira, 16 de maio de 2013 20:43
  • Desculpe, numeric.
    quinta-feira, 16 de maio de 2013 20:47
  • Marques, estava dando uma olhada e acredito que as colunas numericas do SQL server não trabalham com virgula, somente com pontos.

    Se o seu select for para fazer algum relatorio e precisar ser mostrado como voce quer pode-se fazer algum tratamento para convertar para varchar e mostrar como voce quer, mas para deixa-lo no banco não é recomendado ja que se converter para texto voce não vai conseguir fazer nenhuma opração matematica com ele.


    Alexandre Matayosi Conde Mauricio.

    quinta-feira, 16 de maio de 2013 21:15
  • Deleted
    • Marcado como Resposta Marques Junior sexta-feira, 17 de maio de 2013 13:57
    quinta-feira, 16 de maio de 2013 21:27
  • Experimente:

    create function Formata (@Valor float) 
    returns varchar(30)
    begin
    declare @X varchar(30);
    set @X=replace(
                   replace(
                           replace(convert(varchar, cast(@Valor AS money), 1),
                                   '.', 'x'),
                           ',','.'),
                   'x',',')
    return @X;
    end;
     >
    select dbo.Formata(3221.45)

    =====

    Se for na versão 2012 do SQL Server, experimente o FORMAT.

    Tipos de formatação


    Belo Horizonte, MG - Brasil



    Como o José citou (sempre respostas ótimas), dessa forma você terá a apresentação do valor FLOAT formatado mas convertido para VARCHAR.

    Não se esqueça de tratar essa diferença em sua aplicação.


    Não esqueça de marcar o post como útil caso tenha te ajudado.


    sexta-feira, 17 de maio de 2013 11:27
  • José, mais um vez obrigago pela solução. Alexandre o select é só para exibir em relatório de consulta rápida. Roberson já faço o tratamento na aplicação, valeu a dica.
    sexta-feira, 17 de maio de 2013 13:57