none
Colocar separador de milhar. RRS feed

  • Pergunta

  • Olá amigos,

    Tenho uma coluna Valor_Total no formato float queria colocar um separador de milhar nela.

      Ela está me trazendo os números da seguinte forma.

    Tem como eu aplicar o formato abaixo em toda a coluna pois a coluna tem quase 40 mil linhas.

    Exemplos

    10325 tranformar heim 1.032,5

    154224 transformar heim 1.542,24

    Obrigado, desde já pela ajuda.

    quarta-feira, 19 de março de 2014 05:51

Respostas

  • Starcker,

    Segue mais uma alternativa, além da indicada pelo José.

    --Formato Americano, com "vírgula" no milhar
    SELECT CONVERT(varchar, CAST(123456 AS money), 1)
    
    --Formato Brasileiro, com "ponto" no milhar (utilizando o coringa "_" para evitar erros)
    SELECT REPLACE(REPLACE(REPLACE(CONVERT(varchar, CAST(123456 AS money), 1),',', '_'), '.', ','), '_', '.')

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quarta-feira, 19 de março de 2014 19:11
    Moderador
  • Starcker, concordo com o José.

    Não sei realmente o seu cenário para essa necessidade, mas esse trabalho é da aplicação e não do banco de dados... sem falar que o valor chegará pra você na aplicação como String, o que limita seu potencial de manipulação da informação.

    Flw


    André Duarte

    quinta-feira, 20 de março de 2014 04:02
  • Deleted
    quarta-feira, 19 de março de 2014 09:54
  • André,

    Concordo plenamente com você, além disso, adicionar este tipo de mecanismo no  banco de dados poderá em algum momento gerar uma mudança de comportamento por parte do plano de execução na hora de obtenção dos dados, como também, no envio dos mesmos para aplicação ocasionando possíveis perdas de performance.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 18:02
    sexta-feira, 21 de março de 2014 15:31

Todas as Respostas

  • Deleted
    quarta-feira, 19 de março de 2014 09:54
  • Starcker,

    Segue mais uma alternativa, além da indicada pelo José.

    --Formato Americano, com "vírgula" no milhar
    SELECT CONVERT(varchar, CAST(123456 AS money), 1)
    
    --Formato Brasileiro, com "ponto" no milhar (utilizando o coringa "_" para evitar erros)
    SELECT REPLACE(REPLACE(REPLACE(CONVERT(varchar, CAST(123456 AS money), 1),',', '_'), '.', ','), '_', '.')

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quarta-feira, 19 de março de 2014 19:11
    Moderador
  • Starcker, concordo com o José.

    Não sei realmente o seu cenário para essa necessidade, mas esse trabalho é da aplicação e não do banco de dados... sem falar que o valor chegará pra você na aplicação como String, o que limita seu potencial de manipulação da informação.

    Flw


    André Duarte

    quinta-feira, 20 de março de 2014 04:02
  • André,

    Concordo plenamente com você, além disso, adicionar este tipo de mecanismo no  banco de dados poderá em algum momento gerar uma mudança de comportamento por parte do plano de execução na hora de obtenção dos dados, como também, no envio dos mesmos para aplicação ocasionando possíveis perdas de performance.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 18:02
    sexta-feira, 21 de março de 2014 15:31