求一个sql函数

blue_snow 2007-05-10 10:54:46
把传入的值每隔三位进行截取,最后不足三位的则去掉拼成路径。
比如传入aa3dbba7b781cc744f22a6992c4d800w,最后得到\d80\2c4\699\22a\44f\cc7\781\a7b\dbb\aa3.多谢!
...全文
161 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangshi013 2007-05-10
  • 打赏
  • 举报
回复
看上面的函数是否你要的效果
wangshi013 2007-05-10
  • 打赏
  • 举报
回复
create function f_csdn_test1
(
i_str varchar2
)
return varchar2
as
v_len integer;
v_str varchar2(200);
v_path varchar2(200);
v_err exception;
begin
if instr(i_str,'\') > 0 then
raise v_err;
end if;
v_str := trim(i_str);
v_len := length(v_str);
while v_len >= 3 loop
v_path := v_path||'\'||substr(v_str,-3,3);
v_str := substr(v_str,1,v_len-3);
v_len := length(v_str);
end loop;

return v_path;
exception
when v_err then
return 'invalid character!';
when others then
return substr(SQLERRM,1,200);
end;


blue_snow 2007-05-10
  • 打赏
  • 举报
回复
新手,任务比较急,如果分不够再加,多谢了
wangzk0206 2007-05-10
  • 打赏
  • 举报
回复
自己写个FUNCTION吧
blue_snow 2007-05-10
  • 打赏
  • 举报
回复
多谢wangshi013(往事) !

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧