Zero a esquerda em string não numerica
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'.
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
Curtidas 0
Melhor post
Natanael Ferreira
12/08/2016
Agora vi que você usa Firebird.
No Firebird a função equivalente é LPad.
Teste assim:
- 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
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
GOSTEI 1
Mais Respostas
Natanael Ferreira
12/08/2016
Qual o banco de dados?
No SQL Server tem a função Replicate.
Teste assim:
- 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
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
GOSTEI 0
Ivonei
12/08/2016
Usei o LPad e deu certinho o que eu preciso. Muito obrigado pela atenção Natanael.
GOSTEI 0