2008-04-22
一个截取字符串的方法
//列子
p_str:aaaa^1111^sfsdf^
p_flag :^
create or replace function string_split(p_str in out varchar2,
p_flag in varchar2
)
return varchar2 is
v_str varchar(3000);
v_locate integer;
/*
Released by : Jackie
Last Release : 2007-10-22
Version : 2.01
*/
begin
v_str := ltrim(rtrim(p_str, p_flag), p_flag);
v_locate := instr(v_str, p_flag, 1, 1);
if v_locate = 0 then
p_str := null;
return(v_str);
end if;
p_str := substr(v_str, v_locate + 1, length(v_str));
return(substr(v_str, 1, v_locate - 1));
end string_split;
p_str:aaaa^1111^sfsdf^
p_flag :^
create or replace function string_split(p_str in out varchar2,
p_flag in varchar2
)
return varchar2 is
v_str varchar(3000);
v_locate integer;
/*
Released by : Jackie
Last Release : 2007-10-22
Version : 2.01
*/
begin
v_str := ltrim(rtrim(p_str, p_flag), p_flag);
v_locate := instr(v_str, p_flag, 1, 1);
if v_locate = 0 then
p_str := null;
return(v_str);
end if;
p_str := substr(v_str, v_locate + 1, length(v_str));
return(substr(v_str, 1, v_locate - 1));
end string_split;
评论
心似海
2008-05-08
呵呵谢谢各位,我是想让他成为一个通用的东西,以后在编写存储过程时,可以直接用,就当成如同SQL自己提供的函数,例如就象,tostring()
qiuyuanshan
2008-04-22
用函数跑得会比较慢。。。不如再来个表像二楼说的1:N
想了想,写成下面这样貌视应该也行吧
substr(rtrim(p_str,p_flag),1,instr(p_str||p_flag,p_flag,1,1)-1),
例子:
select substr(rtrim('123^12431','^'),1,instr('123^'||'^','^',1,1)-1) from dual
想了想,写成下面这样貌视应该也行吧
substr(rtrim(p_str,p_flag),1,instr(p_str||p_flag,p_flag,1,1)-1),
例子:
select substr(rtrim('123^12431','^'),1,instr('123^'||'^','^',1,1)-1) from dual
armorking
2008-04-22
明明A、B两个字段是1:N关系,
用两张主从关系的表来描述,非常轻松
却偏偏要把N个B用间隔符连接起来,硬是要把∑B和A塞到同一张表里
于是,这张表的维护和查询都变得极为痛苦
用两张主从关系的表来描述,非常轻松
却偏偏要把N个B用间隔符连接起来,硬是要把∑B和A塞到同一张表里
于是,这张表的维护和查询都变得极为痛苦
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 2562 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
一个截取字符串的方法
呵呵谢谢各位,我是想让他成为一个通用的东西,以后在编写存储过程时,可以直接用,就 ...
-- by 心似海 -
动态SQL
既然是存储过程,当temp_str的值有很多的时候, 可以考虑把temp_str ...
-- by armorking -
一个截取字符串的方法
用函数跑得会比较慢。。。不如再来个表像二楼说的1:N 想了想,写成下面这样貌视 ...
-- by qiuyuanshan -
一个截取字符串的方法
明明A、B两个字段是1:N关系, 用两张主从关系的表来描述,非常轻松 却偏偏要把 ...
-- by armorking -
NET递归调用10转(2-34) ...
Int32.ToString(34);
-- by deerchao






评论排行榜