ITPUB??ì3
ITPUB论坛 » Oracle开发 » 怎样支掉字符串中逗号间重复的字符

标题: 怎样支掉字符串中逗号间重复的字符
离线 Arraywj99898
烈日狂跑


来自 桃花盛开的地方
精华贴数 0
个人空间 0
技术积分 588 (3211)
社区积分 1736 (637)
注册日期 2006-4-11
论坛徽章:6
第18届世界杯(德国)纪念徽章会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章生肖徽章:鸡生肖徽章:牛
      

发表于 2006-9-6 11:16 
怎样支掉字符串中逗号间重复的字符

如 ',1,2,5,9,1,2,5,9,1,2,9,1,2,9,1,2,3,9,1,2,3,9,1,2,9,1,2,9,1,2,3,9,1,2,3,9,'怎样支掉字符串中逗号间重复的字符,并将字符升序排列,得到
',1,2,3,5,9,'
百思不得其解,是高手的试一下。


__________________
只看该作者    顶部
离线 九 哥
女人


精华贴数 0
个人空间 0
技术积分 20 (53894)
社区积分 235 (2118)
注册日期 2006-8-3
论坛徽章:0
      
      

发表于 2006-9-6 11:26 
UP


__________________
只看该作者    顶部
离线 Laurence.li
玉玄宫


精华贴数 0
个人空间 0
技术积分 6959 (179)
社区积分 416 (1518)
注册日期 2004-8-19
论坛徽章:16
现任管理团队成员ITPUB北京九华山庄2008年会纪念徽章管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章
会员2007贡献徽章会员2006贡献徽章授权会员生肖徽章2007版:龙ITPUB新首页上线纪念徽章数据库板块每日发贴之星

发表于 2006-9-6 11:36 
Oraclce Version ?


__________________
知人者智,自知者明。胜人者有力,自胜者强。知足者富,强行者有志。不失其所者久。死而不亡者寿。
只看该作者    顶部
离线 mychary
高级会员



来自 合肥
精华贴数 0
个人空间 0
技术积分 6702 (182)
社区积分 156 (2638)
注册日期 2003-9-18
论坛徽章:7
会员2007贡献徽章会员2006贡献徽章2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:花样游泳数据库板块每日发贴之星数据库板块每日发贴之星
数据库板块每日发贴之星     

发表于 2006-9-6 11:43 


QUOTE:
最初由 Laurence.li 发布
Oraclce Version ?

准备出手了?


只看该作者    顶部
离线 wj99898
烈日狂跑


来自 桃花盛开的地方
精华贴数 0
个人空间 0
技术积分 588 (3211)
社区积分 1736 (637)
注册日期 2006-4-11
论坛徽章:6
第18届世界杯(德国)纪念徽章会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章生肖徽章:鸡生肖徽章:牛
      

发表于 2006-9-6 11:45 
oracle 9i


__________________
只看该作者    顶部
离线 yanzhuai
中级会员



精华贴数 0
个人空间 0
技术积分 408 (4690)
社区积分 0 (234397)
注册日期 2004-12-27
论坛徽章:0
      
      

发表于 2006-9-6 12:04 
写个函数 从第一个字符开始取,中间加一个判断是否第一次出现 (初始值isfirst=true)
如果第一次出现就返回原值,如果isfirst=false 返回null
loop !
提供一个思路,这样应该可以!
有时间,我再自己取测试一下


只看该作者    顶部
离线 shiguibao
永不言棄


精华贴数 2
个人空间 30
技术积分 5252 (244)
社区积分 13507 (107)
注册日期 2004-11-18
论坛徽章:44
2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:跳水
      

发表于 2006-9-6 12:04 
自己搞个函数,如果是10g的话,不知道正则函数能不能用


__________________
现实是残酷的,更残酷的是你永远也看不到现实的全部

07版生肖缺龙、羊、狗、猪,欢迎捐赠:) 交易交换亦可
只看该作者    顶部
在线/呼叫 zhouwf0726
版主


精华贴数 5
个人空间 619
技术积分 7137 (177)
社区积分 95 (3453)
注册日期 2006-2-22
论坛徽章:17
现任管理团队成员ITPUB北京九华山庄2008年会纪念徽章管理团队2007贡献徽章蓝锆石授权会员2008北京奥运纪念徽章:篮球
BLOG每日发帖之星生肖徽章2007版:龙生肖徽章2007版:猴生肖徽章2007版:鸡生肖徽章2007版:鼠生肖徽章2007版:蛇

发表于 2006-9-6 12:14 
select col from(
select sys_connect_by_path(col,',')||',' col,level from(
select col,row_number() over(order by rownum) rn from (
select distinct substr(col,instr(col,',',1,rownum)+1,instr(col,',',1,rownum+1)-instr(col,',',1,rownum)-1) col from (
select ',1,2,5,9,1,2,5,9,1,3,9,' col from dual
) connect by rownum<length(translate(col,','||col,','))
)
)
connect by prior rn = rn -1 order by level desc
) where rownum=1


__________________
msn:zhouwf0726@hotmail.commail:zhouwf0726@163.com
只看该作者    顶部
离线 shiguibao
永不言棄


精华贴数 2
个人空间 30
技术积分 5252 (244)
社区积分 13507 (107)
注册日期 2004-11-18
论坛徽章:44
2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:跳水
      

发表于 2006-9-6 12:47 
楼上的结果: ,1,3,5,9,2,
没有排序,稍微改改就可以了,顶~~~


__________________
现实是残酷的,更残酷的是你永远也看不到现实的全部

07版生肖缺龙、羊、狗、猪,欢迎捐赠:) 交易交换亦可
只看该作者    顶部
离线 atgc
高级会员


精华贴数 1
个人空间 0
技术积分 7938 (154)
社区积分 168 (2515)
注册日期 2004-7-22
论坛徽章:33
2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:花样游泳2008北京奥运纪念徽章:垒球
2008北京奥运纪念徽章:手球2008北京奥运纪念徽章:帆船2008北京奥运纪念徽章:羽毛球生肖徽章2007版:鼠生肖徽章:鸡生肖徽章:狗

发表于 2006-9-6 13:05 
PHP code:


函数实现法



create 
or replace function non_redundant (acc_str in varchar2) return varchar2

is

  v_str varchar2
(30000) := replace(acc_str,',');

  
v_acc char(1);

  
type my_table is table of char(2index by pls_integer;

  
v_mytable my_table;

  
v_string varchar2(1000);

begin

  loop

    
exit when (v_str is null);

    
v_acc := substrb(v_str,1,1);

    
v_str := replace(v_str,v_acc);

    
v_mytable(to_number(v_acc)) := v_acc||',';

  
end loop;

  for 
i in 1..10 loop

    
if v_mytable.EXISTS(ithen

       v_string 
:= v_string||v_mytable(i);

    
end if;

  
end loop;

  return 
','||v_string;

end;

/



select non_redundant('1,2,4,9,2,9,5'from dual;



NON_REDUNDANT('1,2,4,9,2,9,5')

---------------------------------

,
1,2,4,5,9,



1 RO




__________________
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问