Určení, zda jsou data pole v Oracle typu Number
Problém
Chcete se dotazovat pouze z pole varchar2 nebo char obsahujícího číselná data bez jakéhokoli dalšího znaku.
Řešení
Vytvořte funkci, která to určí:
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;
Použít v dotazu:
Select Empno, Ename, dummychar from emp where is_number(dummychar) = 'TRUE';