Top/Oracle/文字列がすべて数字文字かどうかチェックする

Oracle/文字列がすべて数字文字かどうかチェックする

Oracleの「IS_NUMERIC()関数」では、文字列が数値として扱えるかどうかをチェックできますが、文字列がすべて数字文字だけからできているかどうかチェックすることはできません。
そこで、文字列がすべて数字文字かどうかをチェックするFunctionを作成しました。

ソースコード

CREATE OR REPLACE FUNCTION IS_NUMBERS(
    P_STR       IN VARCHAR
)
RETURN NUMBER
AS
BEGIN
    IF LENGTH(TRIM(TRANSLATE(P_STR, '0123456789', ' '))) IS NULL THEN
        RETURN 1;
    END IF;

    RETURN 0;

EXCEPTION
    WHEN OTHERS THEN
        RETURN 0;
END;
/
/*
select IS_NUMBERS('12345') from dual;
select IS_NUMBERS('12345A') from dual;
select IS_NUMBERS('+12345') from dual;
*/
このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

ページ新規作成

新しいページはこちらから投稿できます。

TOP