Определяне дали данните за полето в Oracle са от тип число
Проблем
Искате да ги заявите само от полето varchar2 или char, съдържащо числови данни, без друг знак.
Решение
Създайте функция, за да определите това:
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;
Използвайте в заявка:
Select Empno, Ename, dummychar from emp where is_number(dummychar) = 'TRUE';