[Dica] Função do Banco que verifica se é número?

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Pessoal, sabem de alguma função própria do Oracle (como a IsNumeric(VALOR) do SQL Server ) que retorne se um valor é número ou não ???

Como não dispunha dessa informação, acabei criando uma função que faz isso.

Selecionar tudo

DECLARE
   V_TESTE BOOLEAN;
      FUNCTION FUN_IS_NUMBER (P_VALOR IN VARCHAR2)
      RETURN BOOLEAN 
      IS 
        v_retorno NUMBER(10);
      BEGIN
        v_retorno := TO_NUMBER(P_VALOR);
        RETURN (TRUE);
      EXCEPTION
        WHEN OTHERS THEN 
        RETURN (FALSE);
      END;
BEGIN
  V_TESTE := FUN_IS_NUMBER('12A');

  IF V_TESTE 
  THEN
     dbms_output.put_line('É número ');
  ELSE 
     dbms_output.put_line('Não é número ');   
  END IF;   
END;
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes