注册

在sql 调试时,报错 当前上下文中没有符号“regexp_instr(strFindinput,(right(strInput,len(strInput)-intValue))”

阿杰升级路 2023/12/14 992 3 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:WIN11
【CPU】:
【问题描述】*:实现一个存储函数。字符串所在位置下标集合(用输入的分割字符分割) ,但是在调试时有问题;请教社区的各位大神,帮忙看一下

要实现的结果

image.png

达梦实现

CREATE OR REPLACE FUNCTION dF_strPosition(
"strInput" IN VARCHAR(100),
"strFindinput" IN VARCHAR(2),
"strSplit" IN VARCHAR(2))
RETURN VARCHAR(128)
 AS
    strVal   varchar(200)='';
    intValue int:=0;
BEGIN
   set strInput=rtrim(ltrim(strInput)); ---去掉左右空格
   while REGEXP_INSTR(strFindinput,(right(strInput,len(strInput)-intValue)))<>0
    LOOP
    select REGEXP_INSTR(strFindinput,(right(strInput,len(strInput)-intValue)))+intValue into intValue;
    strVal :=strVal+cast(intValue as varchar(2))+strSplit;
    end loop;
   return strVal;
END;

达梦执行结果

image.png

达梦SQL调试过程

image.png

回答 0
暂无回答
扫一扫
联系客服