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';