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