Oracle
 sql >> Database >  >> RDS >> Oracle

Determinare se i dati del campo in Oracle sono di tipo Numero

Determinazione se i dati del campo in Oracle sono di tipo numerico

Problema

Vuoi interrogarli solo dal campo varchar2 o char contenente dati numerici senza altri caratteri.

Soluzione

Crea una funzione per determinare questo:

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;

Utilizzare nella query:

Select Empno, Ename, dummychar
   from emp
where is_number(dummychar) = 'TRUE';