Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ThunderPHP

Somar dados VARCHAR

Recommended Posts

Prezados companheiros desta estrada da programação.

 

Estou quebrando a cabeça faz alguns dias, e gostaria de pedir socorro pra vcs...

 

estou tentando somar os dados de uma tabela SQL, cuja estrutura é VARCHAR..

 

os dados são armazenados assim: 10.200,00

 

SELECT REPLACE(CONVERT(SUM(REPLACE(`valor_finan`,',','.')), dec(10,2)), '.',',') as sumValor FROM `pagamento`")

 

Não está funcionando de jeito nenhum....

 

Por favor, não posso alterar o tipo do campo, por isso preciso do auxílio de vcs...

 

 

Obrigadão!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, dá um trabalhinho, mais faz uma function!

tem que pegar dado por dado se a variavel for: valorchar voce abre como se fosse vetor

valorchar="10.000,00

valorchar[1] = "0";

valorchar[2] = "0";

até chegar no valor "1"

entao, voce faz assim pega uma variavel real ou doble sei la.. e tira com IntergerOf

e soma pronto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou

 

SELECT REPLACE(CONVERT(SUM(REPLACE(`valor_finan`,',','.')), dec(10,2)), '.','') as sumValor FROM `pagamento`")

 

Agora, o melhor é trabalhar com a tipagem correta, do contrário você acaba enchendo o sistema destas gambiarras sem necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta,

 

Agradeço mesmo a ajuda, funcionou com sua sintaxe, porém, ele me mostra o valor 2070, onde o valor correto é 20.700,00...

 

Seria pedir muito pra me ajudar nesta ???

 

Agradeço de verdade.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT REPLACE(CONVERT(SUM(REPLACE(REPLACE(`valor_finan`,'.',''),',','.')), dec(10,2)), '.',',') as sumValor FROM `pagamento`")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas te aconselho a consertar o tipo se

está uma coisa de louco
aí , muito provavelmente é gerado por erros destes no sistema.

 

Este tipo de gambiarra que fiz funciona mas mascara o problema de fato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.