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