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

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


文字列がすべて数字文字かどうかチェックするFunctionを作成しました。
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;
 */

ページ新規作成

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

TOP