繁体   English   中英

IBM DB2定制函数语法

[英]IBM DB2 custom function syntax

我有一个自定义的regex DB2函数,如下所示:-

CREATE OR REPLACE FUNCTION REGEXP_LIKE(SOURCE VARCHAR(3000), REGEX VARCHAR(512), 
MODE VARCHAR(3))

RETURNS INTEGER
FENCED 
NOT DETERMINISTIC
NO SQL
LANGUAGE JAVA
PARAMETER STYLE JAVA
EXTERNAL NAME 'db2_regex:com.ibm.avalanche.udf.regex.Regexp.regexpLike'
NO EXTERNAL ACTION
@

摘自以下文章(http://www.ibm.com/developerworks/data/library/techarticle/dm-1011db2luwpatternmatch/index.html?ca=drs-)

该功能可以如下使用:-

select ID from TABLE where 
REGEXP_LIKE(STRING, 'regex', 'i') > 0

oracle版本如下:-

select ID from TABLE where 
REGEXP_LIKE(STRING, 'regex', 'i')

请注意,它不需要大于零(> 0)。

我的问题是:-我可以在以前的DB2函数中实现这种Oracle语法。 我认为关键是“返回整数”吗?

我尝试了一些不同的方法,将不胜感激。

用于Linux,UNIX和Windows的DB2 9.7仅支持在启用了Oracle兼容性矢量的DB2数据库中运行的PL / SQL代码模块内部的布尔数据类型。

因此,您将无法定义返回布尔类型的UDF,也将无法指定检查布尔值的SQL谓词(除了内置的布尔表达式,例如EXISTS,IS NULL等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM