REGEXP_LIKE的返回类型
本帖最后由 ywjcool 于 2013-03-08 17:29:23 编辑
BOOLEAN是PL/SQL中的类型,ORACLE中不支持,所以下面的语句是错误的
create function my_like(iStr in varchar2, iPattern in varchar2) return boolean
begin
return iStr like iPattern;
end;
select 1 from dual where my_like('aaa','%a%');
但是regexp_like却可以使用,请问它是返回什么类型,为什么就能直接用呢?
select 1 from dual where regexp_like('aaa','[a-z]*')
------解决方案--------------------
我的理解是这样的,regexp_like是用正则表达式的形式来处理字符类型的数据,返回的就是字符类型的数据。
直接引用就是因为它是oracle的一个函数,并且使用的确实是处理字符串的
------解决方案--------------------REGEXP_LIKE返回字符串