【发布时间】:2016-01-13 10:54:58
【问题描述】:
create or replace function MyFunction(v_FileName in varchar2)
我想防止在 v_FileName 的第二个字符中使用特殊字符。
这些字符是:
!@#$%^&*()_+=`~[]{}'\|?/>
(我想允许使用 . 和 ")
我尝试了几个 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
result 应该是 0,因为 char [ 应该是不允许的。
我做错了什么?
【问题讨论】:
标签: oracle plsql regexp-like