查看: 12051|回复: 21

[SQL] 问个SQL

[复制链接]
论坛徽章:
5
2009日食纪念
日期:2009-07-22 09:30:002010新春纪念徽章
日期:2010-03-01 11:19:062011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042013年新春福章
日期:2013-02-25 14:51:24
发表于 2014-5-6 11:18 | 显示全部楼层 |阅读模式
本帖最后由 sieper 于 2014-5-6 11:18 编辑

有设么快速实现字符串中添加冒号的办法。
1,字符串长度不定。
2,每两个字符后加冒号。末尾不加。

比如
aabbcc
得到
aa : bb : cc

认证徽章
论坛徽章:
169
SQL数据库编程大师
日期:2016-01-13 10:30:43SQL极客
日期:2013-12-09 14:13:35SQL大赛参与纪念
日期:2013-12-06 14:03:45最佳人气徽章
日期:2015-03-19 09:44:03现任管理团队成员
日期:2015-08-26 02:10:00秀才
日期:2015-07-28 09:12:12举人
日期:2015-07-13 15:30:15进士
日期:2015-07-28 09:12:58探花
日期:2015-07-28 09:12:58榜眼
日期:2015-08-18 09:48:03
发表于 2014-5-6 14:24 | 显示全部楼层
select listagg(substr('aabbccd',1+(level-1)*2,2),':') within group(order by rownum) path from dual connect by level<=ceil(length('aabbccd')/2)

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Java研发
认证徽章
论坛徽章:
6348
ITPUB9周年纪念徽章
日期:2014-05-02 10:36:402011新春纪念徽章
日期:2014-12-29 12:11:142010广州亚运会纪念徽章:卡巴迪
日期:2014-08-06 08:44:252012新春纪念徽章
日期:2014-12-29 12:11:142013年新春福章
日期:2014-12-29 12:11:14马上有车
日期:2014-12-29 12:11:14马上有房
日期:2014-12-29 12:11:14马上有钱
日期:2014-12-29 12:11:14马上有对象
日期:2014-12-29 12:11:14马上加薪
日期:2014-12-29 12:11:14
发表于 2014-5-6 14:34 | 显示全部楼层
Naldonado 发表于 2014-5-6 14:24
select listagg(substr('aabbccd',1+(level-1)*2,2),':') within group(order by rownum) path from dual c ...

11gR2??

使用道具 举报

回复
认证徽章
论坛徽章:
169
SQL数据库编程大师
日期:2016-01-13 10:30:43SQL极客
日期:2013-12-09 14:13:35SQL大赛参与纪念
日期:2013-12-06 14:03:45最佳人气徽章
日期:2015-03-19 09:44:03现任管理团队成员
日期:2015-08-26 02:10:00秀才
日期:2015-07-28 09:12:12举人
日期:2015-07-13 15:30:15进士
日期:2015-07-28 09:12:58探花
日期:2015-07-28 09:12:58榜眼
日期:2015-08-18 09:48:03
发表于 2014-5-6 14:38 | 显示全部楼层
2009532140 发表于 2014-5-6 14:34
11gR2??

10g用wm_concat,然后replace也行吧。

使用道具 举报

回复
论坛徽章:
78
生肖徽章2007版:牛
日期:2012-08-02 22:43:00紫蛋头
日期:2012-12-08 09:43:38鲜花蛋
日期:2012-11-17 12:02:07鲜花蛋
日期:2013-02-05 21:53:34复活蛋
日期:2012-11-17 12:02:07SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:10:50ITPUB季度 技术新星
日期:2012-11-27 10:16:10最佳人气徽章
日期:2013-03-19 17:24:25
发表于 2014-5-6 17:37 | 显示全部楼层
Naldonado 发表于 2014-5-6 14:24
select listagg(substr('aabbccd',1+(level-1)*2,2),':') within group(order by rownum) path from dual c ...

为了放这个屁,把裤衩子都脱了 。果断正则啊

使用道具 举报

回复
论坛徽章:
78
生肖徽章2007版:牛
日期:2012-08-02 22:43:00紫蛋头
日期:2012-12-08 09:43:38鲜花蛋
日期:2012-11-17 12:02:07鲜花蛋
日期:2013-02-05 21:53:34复活蛋
日期:2012-11-17 12:02:07SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:10:50ITPUB季度 技术新星
日期:2012-11-27 10:16:10最佳人气徽章
日期:2013-03-19 17:24:25
发表于 2014-5-6 17:44 | 显示全部楼层
select rtrim(regexp_replace('abcdef', '(..)', '\1:'), ':') from dual;

使用道具 举报

回复
认证徽章
论坛徽章:
169
SQL数据库编程大师
日期:2016-01-13 10:30:43SQL极客
日期:2013-12-09 14:13:35SQL大赛参与纪念
日期:2013-12-06 14:03:45最佳人气徽章
日期:2015-03-19 09:44:03现任管理团队成员
日期:2015-08-26 02:10:00秀才
日期:2015-07-28 09:12:12举人
日期:2015-07-13 15:30:15进士
日期:2015-07-28 09:12:58探花
日期:2015-07-28 09:12:58榜眼
日期:2015-08-18 09:48:03
发表于 2014-5-6 17:57 | 显示全部楼层
udfrog 发表于 2014-5-6 17:37
为了放这个屁,把裤衩子都脱了 。果断正则啊

妈蛋,被你看出来了。。不愧是裸眼1.5

使用道具 举报

回复
论坛徽章:
5
2009日食纪念
日期:2009-07-22 09:30:002010新春纪念徽章
日期:2010-03-01 11:19:062011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042013年新春福章
日期:2013-02-25 14:51:24
 楼主| 发表于 2014-5-6 18:27 | 显示全部楼层
udfrog 发表于 2014-5-6 17:44
select rtrim(regexp_replace('abcdef', '(..)', '\1:'), ':') from dual;

你们这么能造  朝廷幸载啊。
多谢listagg和(..)
这个正则就是没搞出来

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2014-5-6 19:09 来自手机 | 显示全部楼层
udfrog 发表于 2014-5-6 17:44
select rtrim(regexp_replace('abcdef', '(..)', '\1:'), ':') from dual;

表示正则要向你学习,看你写正则很犀利

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
483
马上有钱
日期:2014-02-19 11:55:14itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31ITPUB年度最佳版主
日期:2015-03-18 15:48:48
发表于 2014-5-7 00:00 | 显示全部楼层
oracle_cj 发表于 2014-5-6 19:09
表示正则要向你学习,看你写正则很犀利

他太高深,还是先跟着我学吧!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表