sql >> データベース >  >> RDS >> Oracle

Oracleのフィールドデータが数値タイプであるかどうかの判断

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

    1. IDENTITY列を広げることによる影響の最小化–パート3

    2. Oracleで数字をローマ数字としてフォーマットする方法

    3. 主キーが重要である理由とその選択方法

    4. 私が選ぶべきもの-JSONまたはSQLite?