sql >> Databasteknik >  >> RDS >> Oracle

Avgöra om fältdata i Oracle är av nummertyp

Avgöra om fältdata i Oracle är av nummertyp

Problem

Du vill bara fråga dem från varchar2- eller char-fältet som innehåller nummerdata utan något annat tecken.

Lösning

Skapa en funktion för att bestämma detta:

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;

Använd i fråga:

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

  1. Hur man installerar SQLcl på en Mac

  2. SQL-serverlogg, leverans och katastrofåterställning, installation och konfiguration -1

  3. Identifiera och åtgärda problem med framsändning av rekord

  4. Accent och skiftlägesokänslig sortering i Oracle med LIKE