GARANTIR DESCONTO

Fórum Zero a esquerda em string não numerica #560211

12/08/2016

0

Preciso fazer uma consulta entre duas tabelas onde um campo string possui caracteres nao numericos. Segue exemplo:
Onde campo a.lote= s45

Select a.produto, formatFloat('00000',StrToInt(a.lote)) from tabela a
where a.codigo=100

Ele teria que retornar 00s45

Mas aqui da erro por causa do 's'.
Ivonei

Ivonei

Responder

Post mais votado

12/08/2016

Agora vi que você usa Firebird.

No Firebird a função equivalente é LPad.

Teste assim:

'Select a.produto, LPad(a.lote, 5, 0) as lote from tabela a where a.codigo = 100'


- 0 (zero) é o caracter que você quer que repita;

- 5 é quantidade de casas de sua string;

Veja este link:
http://mail.firebase.com.br/pipermail/lista_firebase.com.br/2005-August/018282.html

Natanael Ferreira

Natanael Ferreira
Responder

Gostei + 1

Mais Posts

12/08/2016

Natanael Ferreira

Qual o banco de dados?

No SQL Server tem a função Replicate.

Teste assim:

'Select a.produto, REPLICATE(0, 5 -LEN(a.lote)) + a.lote from tabela a where a.codigo = 100'


- 0 (zero) é o caracter que você quer que repita;

- 5 é quantidade de casas de sua string;

- A função Len serve para contar quantas caracteres tem seu campo.

Veja este link:
https://social.msdn.microsoft.com/Forums/pt-BR/cf525c8e-b536-41a7-8e34-23ab66a20fb5/acrescentar-zeros-esquerda-no-tamanho-do-campo-correto?forum=520
Responder

Gostei + 0

12/08/2016

Ivonei

Usei o LPad e deu certinho o que eu preciso. Muito obrigado pela atenção Natanael.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar