[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
  

Mensagemem Sex, 27 Jul 2007 5:02 pm

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.

Código: Selecionar todos
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;
Trevisolli
Localização: Araraquara - SP

Abraço,

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


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante