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; */
このページのURL: