Update de varchar para decimal [Resolvido]

2 respostas
X

Boa tarde, tenho um campo na tabela q erroneamente esta como varchar e deveria ser decimal.
Este campo contem dados assim: 00020.

Estou tentando resolver o problema deixando assim: 20

O update abaixo nao esta funcionando pois da mensagem de erro:

update ecrctitulo tcr set tcr.nuLote = cast(tcr.nuLote as decimal(9)) where  tcr.cdEmpresa = 4
and tcr.dtcontabil between '2009.8.1' and '2009.8.31'

Overflow occurred during data type conversion.
conversion error from string "".

alguem tem alguma ideia?

edit:
o banco eh firebird

2 Respostas

P

Alguns dos campos parecem estar vazios. Não é possível converter uma String vazia para um inteiro.
Faz primeiro um update, colocando ‘0’ onde o campos está vazio.

X

eh verdade, nem me toquei nisso.

fiz assim e funcionou. vlw

update ecrctitulo tcr set tcr.nuLote = cast(tcr.nuLote as decimal(9))
where  tcr.dtcontabil between '2009.8.1' and '2009.8.31' and tcr.nuLote is not null;
Criado 18 de novembro de 2009
Ultima resposta 19 de nov. de 2009
Respostas 2
Participantes 2