[firebase-br] Float para numeric

Levy Moreira levymoreira.ce em gmail.com
Qua Fev 9 13:03:51 -03 2011


Pessoal vamos fazer nesse próximo mês a mudança de vários campos em varias
tabelas de float para numeric, o motivo
da mudança acredito que saibam, os campos float tem uma precisão que causa
muitos problemas com valores monetários,
mas como são vários campos em varias tabelas estou um tanto quanto
preocupado, e com algumas duvidas.
1- Se eu simplesmente pegar os campos float e setar em campos numeric eu vou
passar por algum tipo de erro?
2- Pretendo fazer o update com um cast como:
 update tabela set campoNumeric = cast(campoFloat as numeric(10, 2))
 isso ta certo? Meu objetivo é passar no lugar do 2 a precisão que o cliente
utiliza no sistema.
3- Se eu usar campos numeric de precisão 10, pode dar algum tipo de
problema? Porque preciso dessa precisão há clientes
 que utilizam ate 6 casas decimais, então 10 é por prevenção :)
4- Com o cast perco muito tipo se eu cadastrei em float com 3.75 e ele salva
com um monte de quebrados,
 eu passando com cast numeric de precisão 2 perco algo ou ele volta para
3.75.
5- A operação será:
 crio um campo numeric na tabela
 passo os valores do campo float para o numeric
 deleto a tabela float e recrio como numeric
 e então passo da tabela auxiliar numeric para a original numeric
 e deleto a  auxiliar.
 Será que vai dar certo?

Se alguém já passou por uma transição dessa, e tem alguma dica pra me dar eu
aceito por mais simples que seja, nunca
fiz uma operação dessas, e sinceramente estou um tanto quanto assustado.
E se houver uma forma melhor que essa por favor me digam.

Obrigado a todos desde já.

-- 
Levy Moreira - Programador
Sistech Informática - Juazeiro do Norte - CE

...........................................................................
"Aviso de confidencialidade profissional" - Esta mensagem eletrônica e
seus anexos são destinados exclusivamente ao(s) destinatário(s) acima e
podem conter informações confidenciais sujeitas a restrição legal de
comunicação entre as partes. Caso tenha recebido esta mensagem por engano,
fica V.S.ª ciente de que a distribuição, divulgação ou disseminação das
informações aqui contidas ou anexadas é terminantemente proibida, sujeitando
o responsável às penalidades aplicáveis. Assim, solicitamos a gentileza
de retorná-la de imediato ao remetente, eliminando-a definitivamente de
seu sistema. Em caso de dúvida, queira por favor entrar em contato."

"Confidentiality notice" - This message and its attachments are
addressed solely to the persons above and may contain privileged and
confidential
communication. If you have received the message in error, the
distribution or dissemination of the content hereof is prohibited. Please
return it
immediately to the sender and please delete the message from your system
on a permanent basis. Should you have any questions, please contact."

...........................................................................



Mais detalhes sobre a lista de discussão lista