文字列が半角英数字のみか判定するFUNCTIONです。
サンプル
例)引数に指定した文字が半角英数のみかどうかを判定するFUNCTION
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
CREATE OR REPLACE FUNCTION CHK_HAN_EISU( a IN VARCHAR2 ) RETURN NUMBER IS ret NUMBER; BEGIN IF a IS NOT NULL AND LENGTH(a) = REGEXP_COUNT(a, '[0-9A-Za-z]') THEN //半角英数のみの場合 ret := 1; ELSE //半角英数のみでない場合 ret := 0; END IF; RETURN ret; EXCEPTION WHEN OTHERS THEN RETURN 0; END; / |
- 実行例
- SQL> select CHK_HAN_EISU('hoge123') from dual; CHK_HAN_EISU --------------- 1
解説
- 半角英数のみの場合は1が返り、異なる場合は0が返ります。
- nullの場合は0(半角英数のみでない)が返ります。