Określanie, czy dane pola w Oracle są typu Liczba
Problem
Chcesz zapytać o te tylko z pola varchar2 lub char zawierającego dane liczbowe bez żadnego innego znaku.
Rozwiązanie
Utwórz funkcję, aby to określić:
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;
Użyj w zapytaniu:
Select Empno, Ename, dummychar from emp where is_number(dummychar) = 'TRUE';