Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似于某字符串
Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似于某字符串create or replace function f_GetUsers(key in varchar2,
p_cursor out pkg_test.myrctype)
return number is
Result number;
begin
open p_cursor for
SELECT * FROM Accounts_Users where TrueName like '%'+key+'%' order by UserID;
Result := 0;
return(Result);
end;
编译成功,,测试的时候也没有发现错误,但是到了真正的生产环境的时候,
报错误 ORA-01722: 无效数字 很莫名
后来查阅网络
发现ORACLE 的字符串连接必须用||符号的,然后修改测试 如下
create or replace function f_GetUsers(varkey in varchar2,
p_cursor out pkg_test.myrctype)
return number is
Result number;
begin
open p_cursor for
SELECT * FROM Accounts_Users where TrueName like '%'||varkey||'%' order by UserID;
Result := 0;
return(Result);
end;编译通过
测试数据,也没有问题。
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网
本文介绍了一个Oracle查询函数中出现ORA-01722:无效数字错误的问题及解决方法。通过调整字符串连接方式,使用正确的'||'运算符代替普通字符连接,解决了生产环境中遇到的错误。

1564

被折叠的 条评论
为什么被折叠?



