[英]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.