首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

REGEXP_LIKE的返回类型解决方案

2013-06-25 
REGEXP_LIKE的返回类型本帖最后由 ywjcool 于 2013-03-08 17:29:23 编辑BOOLEAN是PL/SQL中的类型,ORACLE中

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]*')


[解决办法]
引用:
引用:没有看懂楼主的意思,楼主的函数写的很是奇怪。
单独是绝对可以执行的,就是一个正则表达式。
就是说
select 1 from dual where my_like('aaa','%a%'); 
这句是错误的,其中my_like是自定义的boolean型函数
select 1 from dual where re……

我的理解是这样的,regexp_like是用正则表达式的形式来处理字符类型的数据,返回的就是字符类型的数据。
直接引用就是因为它是oracle的一个函数,并且使用的确实是处理字符串的
[解决办法]
REGEXP_LIKE返回字符串

热点排行
Bad Request.