嗨,做了一个修改一点 INSTR 函数(Oracle SQL)的函数:当找不到空格字符时,我得到的是字符串的长度,而不是得到 '0'。
它可以编译,但是当我尝试执行它时,我收到 ORA-06550 错误(如果我没记错的话,就是编译错误)。
我将这个函数作为一个过程尝试过,它运行得很好......所以我不明白为什么它不想执行。
你能帮助我吗?
CREATE OR REPLACE FUNCTION "INSTR2" (str varchar2) RETURN NUMBER AS
pos number(4,0) := 0;
BEGIN
select INSTR(str, ' ') into pos from dual;
if (pos = 0) then
select to_number(length(str)) into pos from dual;
return pos;
else
return pos;
end if;
END INSTR2;
非常感谢,
强化学习