create or replace function MyFunction(v_FileName in varchar2)
v_FileName の 2 文字目に特殊文字を使用できないようにしたい。
これらの文字は次のとおりです。
!@#$%^&*()_+=`~[]{}'\|?/><,;:
(. と " の使用を許可したい)
いくつかの regexp_like 式を試しましたが、うまくいきませんでした。例:
DECLARE
vResult NUMBER DEFAULT NULL;
BEGIN
select case when regexp_like('d[av inder 1234' ,'^[[:alnum:]]([^[:alnum:]]|\"+|\.+)') then 0 else 1 end into vintResult from dual;
dbms_output.put_line('result: '||vintResult);
END;
出力:
result: 1
char [ は許可されていないはずなので、結果は 0 にする必要があります。
私は何を間違っていますか?