Remover zeros a esquerda e incluir duas casas decimais

Enviada por Priscila 
Priscila
Remover zeros a esquerda e incluir duas casas decimais
25 de June de 2014 às 04:13PM
Olá!

Tenho uma tabela remessa com o campo vltitulo(VARCHAR) com o valor 0000000098554 e na tabela parcela com o campo vlparcela(VARCHAR) com o valor 985.54

Preciso fazer um select com essas duas tabelas comparando esses dois campos para atualizar a tabela parcela.

Já tentei várias funções mas não consegui achar nada.

Alguém pode me ajudar?

Obrigada!
Douglas Noronha
Re: Remover zeros a esquerda e incluir duas casas decimais
25 de June de 2014 às 07:42PM
Assim vc poderá comparar melhor, e aconselho a mudar para decimal esses campos
SELECT CAST('0000000098554' AS int) as col1

SELECT REPLACE('985.54','.','')
Priscila
Re: Remover zeros a esquerda e incluir duas casas decimais
26 de June de 2014 às 11:29AM
Olá Douglas!

Obrigada pela resposta.

Não posso mudar os campos pois são arquivos .txt que recebo do banco. Então não dá pra saber quantos dígitos terão os valores pois são muitos. Onde você colocou os valores que dei de exemplo tenho que colocar o nome do campo, pois a consulta retornará vários dados.
Douglas Noronha
Re: Remover zeros a esquerda e incluir duas casas decimais
26 de June de 2014 às 01:21PM
tem sim como colocar o nome do campo.
Priscila
Re: Remover zeros a esquerda e incluir duas casas decimais
26 de June de 2014 às 01:25PM
Fiz o teste:

SELECT CAST('vltitulo' AS int) as vltitulo from remessa

E rotornou o erro:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int) as vltitulo from remessa LIMIT 0, 30' at line 1
Douglas Noronha
Re: Remover zeros a esquerda e incluir duas casas decimais
26 de June de 2014 às 04:52PM
Aqui não retornou nenhum erro, e retire a aspa do campo da tabela, assim ele vai interpretar texto e retornar 0.
Priscila
Re: Remover zeros a esquerda e incluir duas casas decimais
26 de June de 2014 às 05:55PM
Tirei e continua dando erro. Consegui fazendo assim:

SELECT trim(leading '0' from vltitulo) from remessa

Mas assim removi somente os zeros do campo remessa.

Agora eu utilizo o replace no outro campo para comparar os dois?
Douglas Noronha
Re: Remover zeros a esquerda e incluir duas casas decimais
26 de June de 2014 às 08:33PM
O replace é pra vc remover o "." pra poder comparar os valores.
Priscila
Re: Remover zeros a esquerda e incluir duas casas decimais
30 de June de 2014 às 03:03PM
Douglas,

Montei esse select mas está dando erro de sintaxe. O que pode ser?

SELECT *
FROM `parcela` AS a
LEFT JOIN devedor AS b ON a.id_dev_devedor = b.id_devedor
LEFT JOIN remessa AS c ON right(c.num_inscr,11) = b.cpf
WHERE right(c.num_inscr,11) = b.cpf AND a.id_dev_devedor = b.id_devedor AND
(SELECT trim(leading '0' from c.vltitulo)) = (SELECT REPLACE(a.vlparcela,'.','')) AND
(SELECT DATE_FORMAT(a.dtvenc, '%d%m%y')) AS a.dtvenc = c.vencimento
ORDER BY a.dtvenc
Douglas Noronha
Re: Remover zeros a esquerda e incluir duas casas decimais
01 de July de 2014 às 02:36AM
qual o erro?
Priscila
Re: Remover zeros a esquerda e incluir duas casas decimais
01 de July de 2014 às 02:50PM
Douglas,

Ele dá um erro de sintaxe.

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS a.dtvenc = c.vencimento ORDER BY a.dtvenc LIMIT 0, 30' at line 7
Douglas Noronha
Re: Remover zeros a esquerda e incluir duas casas decimais
01 de July de 2014 às 03:51PM
ta bem complicado
se puder me adicione no skype douglasnoronha @ hotmail . com . br
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.