Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Determinando se os Dados do Campo no Oracle são do tipo Número

Determinando se os Dados do Campo no Oracle são do tipo Número

Problema


Você deseja consultar aqueles apenas do campo varchar2 ou char contendo dados numéricos sem nenhum outro caractere.

Solução


Crie uma função para determinar isso:
Create or Replace Function is_number (iNumber in Varchar2)
    Return Varchar2
is
nVal Number; 
Begin
   nVal := To_Number(iNumber);
  -- if there is no error 
   Return('TRUE');
Exception
  when others then
   -- error during conversion 
   Return('FALSE');
end;

Use na consulta:
Select Empno, Ename, dummychar
   from emp
where is_number(dummychar) = 'TRUE';