Ir para conteúdo

POWERED BY:

Arquivado

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

d.eleete

Me fuuuuzilei... Moeda novamente!

Recommended Posts

Galera.. eu estava inserindo moeda em um campo tipo texto, ou seja, a moeda era inserida na sua forma normal. Exemplo: 2.000,50 (dois mil reais e cinquenta centavos)..Até ai tava tudo lindo, até o dia em que fui encumbido de somar estes valores... e adivinhem só? O mysql só somaria estes valores caso fossem decimais. Exemplo: 2000.50Alguem ja teve esse problema e arrumou uma solução menos drástica do que alterar 900 registros manualmente?Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

O correto era você ter feito algum script para verificar isso antes da gravação no bd.Agora acho que terá que alterar mesmo na unha. Mas como estes dados ficaram gravados no bd ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi o que eu quis dizer. É claro que o cara não vai entrar em cada um dos 900 e poucos registros. ;) Mas terá que corrigir estes dados antes de sua gravação, senão não vai adiantar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

será q não dá pra fazer um alter table?Deve haver alguma função mysql pra converter estes dados... sei lá

Provavelmente haja. Mas mesmo assim, nada que um LOOP com for e umas query em mysql não resolva... :D 100+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dá pra fazer utilizando o replace? :huh:

SELECT REPLACE(campo_moeda,'.','') as moeda2, REPLACE(moeda2,',','.') as moeda FROM tabela
Daí se tiver 2.000,50, moeda vai conter 2000.50, aí é só fazer a soma, é + ou - assim hehe. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

e a função converte pra que server???tipo no sql server se você usar o update...campo = Convert(Numeric, 1.250,50) ele grava certinho (1250.50) sera que o my sql naum tem uma função assim??

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.