18/03/2011

Oracle: Função para retornar apenas os valores numéricos de uma variável

Segue código da função abaixo:

CREATE OR REPLACE FUNCTION "F_TIRA_LETRAS" (p_string IN VARCHAR2) RETURN VARCHAR2
IS
BEGIN
RETURN LTRIM(translate(p_string, translate(p_string, '1234567890', ' ') , ' '));

End F_TIRA_LETRAS;

Exemplo1: SELECT F_TIRA_LETRAS(CLI_CEP) FROM ENDERECOS
Valor: CLI_CEP: 24110-235
Resultado da seleção: 24110235 (sem o "-")

Exemplo2: SELECT F_TIRA_LETRAS(CLI_ID) FROM CLIENTES
Valor: CLI_ID: ID2435SW
Resultado da seleção: 2435

Nenhum comentário: