none
Como faço para transformar em uma tabela o valor 1,540.20 para 1.540,20, ou seja inverter a virgula com o ponto? RRS feed

Respostas

  • Deleted
    sexta-feira, 21 de julho de 2017 13:33
  • Deleted
    sexta-feira, 21 de julho de 2017 14:07
  • Está sim conforme a tabela acima. Eu devo colocar esses passos numa macro?

    Marcos, se você não conseguir alterar a consulta no aplicativo que gera essa planilha, acredito que você tem que alterar na planilha excel direto. 

    E você deveria solicitar ajuda no fórum de excel, mas essa função deve ajudar no excel, você precisa criar uma nova coluna e substituir o "CAMPO" pela Célula.

    =SUBSTITUIR(SUBSTITUIR(SUBSTITUIR( CAMPO ;",";";");".";",");";";".")


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)



    sexta-feira, 21 de julho de 2017 14:20

Todas as Respostas

  • Algo assim

    DECLARE @variavel VARCHAR(10) ='8,753.96';

    SELECT  REPLACE(@variavel,',','.')


    Wesley Neves - Brasilia-DF

     
    wesley.si.neves@gmail.com
    MTA-SQL Server
    MTA- Web Development
    Analista Desenvolvedor.NET
    Pós-Graduando em Banco de Dados 
    "Se a resposta for útil ou ajudar ,não esqueça de marcar"




    Wesley Neves

    • Sugerido como Resposta Vinicius_Fonseca quinta-feira, 20 de julho de 2017 13:03
    • Não Sugerido como Resposta Vinicius_Fonseca sexta-feira, 21 de julho de 2017 14:27
    quinta-feira, 20 de julho de 2017 12:41
  • Não entendi...
    quinta-feira, 20 de julho de 2017 13:14
  • Como faço para transformar em uma tabela o valor 1,540.20 para 1.540,20, ou seja inverter a virgula

    em qualquer linguagem de programação , para cada objetivo seu possivelmente existira uma função ou um algoritmo ja existente

    e nesse contexto uma função precisa de basicamente 3 coisas 

    1) valor de entrada

    2) processar o seu objetivo

    3) de devolver o que vc quer

    logo vc tem um valor de entrada  1,540.20 e sobre esse valor ou qualquer outro nesse formato vc que retirar a virgula para colocar o ponto certo ??

    a função replace executa esse processamento que vc quer 

    onde houver a ocorrências de virgulas trocará por ponto 

    em resumo entra o valor 1,540.20  , o replace troca a virgula por ponto e te devolve 1.540.20

    aproveitando 

    qual e o seu objetivo final ???


    Wesley Neves - Brasilia-DF

     
    wesley.si.neves@gmail.com
    MTA-SQL Server
    MTA- Web Development
    Analista Desenvolvedor.NET
    Pós-Graduando em Banco de Dados 
    "Se a resposta for útil ou ajudar ,não esqueça de marcar"




    Wesley Neves

    quinta-feira, 20 de julho de 2017 13:31
  • Marcos,

    como você está obtendo os valores citados? Por uma Query? Poste-a se possível.


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)



    quinta-feira, 20 de julho de 2017 15:59
  • Deleted
    sexta-feira, 21 de julho de 2017 13:33
  • o meu objetivo é calcular os valores da minha tabela financeira. O aplicativo que gera o relatório para o excel, sempre carrega os números nesse formato. Sua resposta só irá me ajudar se retornar com virgula antes das casas decimais.
    sexta-feira, 21 de julho de 2017 13:50
  • Marcos, 

    você consegue dar a manutenção na query do aplicativo?

    Seu tipo de dados no campo da tabela financeira é numeric(xx,xx)?


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)

    sexta-feira, 21 de julho de 2017 13:55
  • Está sim conforme a tabela acima. Eu devo colocar esses passos numa macro?

    sexta-feira, 21 de julho de 2017 13:56
  • Deleted
    sexta-feira, 21 de julho de 2017 14:07
  • Está sim conforme a tabela acima. Eu devo colocar esses passos numa macro?

    Marcos, se você não conseguir alterar a consulta no aplicativo que gera essa planilha, acredito que você tem que alterar na planilha excel direto. 

    E você deveria solicitar ajuda no fórum de excel, mas essa função deve ajudar no excel, você precisa criar uma nova coluna e substituir o "CAMPO" pela Célula.

    =SUBSTITUIR(SUBSTITUIR(SUBSTITUIR( CAMPO ;",";";");".";",");";";".")


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)



    sexta-feira, 21 de julho de 2017 14:20
  • Marcos,

    Talvez você possa utilizar a função PARSE a partir do SQL Server 2012 para realizar este tipo de mudança dos dados trocando se for necessário a linguagem para armazenar o dado:

    Declare @Valor Varchar(10)
    
    Set @Valor='1,540.20'
    
    Select @Valor As Antes,
           PARSE(@Valor As money Using 'en-US') As Depois
    Go

    Ou então a função então através da função FORMAT a partir do SQL Server 2012:

    Declare @Valor Varchar(10)
    
    Set @Valor='1,540.20'
    
    Select FORMAT(Cast(@Valor As Money),'C','pt-BR')
    Go


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    sexta-feira, 21 de julho de 2017 23:40
  • Marcos,

    Além do Replace, se estiver extraindo isso do SQLServer pode usar a função FORMAT:

    SELECT FORMAT(Valor, 'N', 'pt-br')

    Ref.: https://msdn.microsoft.com/pt-br/library/hh213505(v=sql.120).aspx


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    sábado, 22 de julho de 2017 04:29