extrais somente numero no firebird
boa tarde...
o novo firebirrd 2.1 esta otimo possui muitos recursos novos oq faz eu deixar de precisar de algumas UDF e fazer direto....mas estou com um problema e nao consigo achar a solucao.....veja
existe como eu retirar a parte numerica de uma string dentro do firebird direto...
123elton retorna apenas 123 tira letras e caracteres especiais....
tentei usar o replace para isso mas ele so aceita um aprametro por vez
tipo replace(cpf, ´.´,´´)
obrigadoo pela ajuda....
o novo firebirrd 2.1 esta otimo possui muitos recursos novos oq faz eu deixar de precisar de algumas UDF e fazer direto....mas estou com um problema e nao consigo achar a solucao.....veja
existe como eu retirar a parte numerica de uma string dentro do firebird direto...
123elton retorna apenas 123 tira letras e caracteres especiais....
tentei usar o replace para isso mas ele so aceita um aprametro por vez
tipo replace(cpf, ´.´,´´)
obrigadoo pela ajuda....
Eltontlms
Curtidas 0
Respostas
Joaoshi
23/07/2008
Colega, utilizando o [b:821e658970]Execute Block[/b:821e658970] do Firebird, fiz o código abaixo. Você poderá testar no IbExpert.
Espero ter ajudado.
EXECUTE BLOCK (sCampo char(40) = :sCampo) RETURNS (retorno varchar(40)) AS declare nPosicao Integer; declare texto varchar(40); declare letra char(1); BEGIN texto = ´´; nPosicao = 1; While (nPosicao <= char_length(sCampo) ) do begin letra = substring(sCampo from nPosicao for 1); if (letra >= ´0´ and letra <= ´9´) then texto = texto||letra; nPosicao = nPosicao + 1; end retorno = texto; suspend; END
Espero ter ajudado.
GOSTEI 0