以下的文章是通过Oracle字段转字符串以及其多行记录合并/连接/聚合字符串的几种常用方法的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。
创新互联专注于新建企业网站建设,成都响应式网站建设,商城网站制作。新建网站建设公司,为新建等地区提供建站服务。全流程按需制作网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。
什么是合并多行字符串(连接字符串)呢,例如:
- SQL> desc test;
- Name Type Nullable Default Comments
- COUNTRY VARCHAR2(20) Y
- CITY VARCHAR2(20) Y
- SQL> select * from test;
- COUNTRY CITY
中国 台北
中国 香港
中国 上海
日本 东京
日本 大阪
要求得到如下结果集:
中国 台北,香港,上海
日本 东京,大阪
实际就是对字符实现一个聚合功能,我很奇怪为什么Oracle没有提供官方的聚合函数来实现它呢:)
下面就对几种经常提及的解决方案进行分析
1.被集合Oracle字段范围小且固定型
这种方法的原理在于你已经知道CITY字段的值有几种,且还不算太多,如果太多这个SQL就会相当的
长。看例子:
SQL> select t.country,
2 MAX(decode(t.city,'台北',t.city||',',NULL)) ||
3 MAX(decode(t.city,'香港',t.city||',',NULL))||
4 MAX(decode(t.city,'上海',t.city||',',NULL))||
5 MAX(decode(t.city,'东京',t.city||',',NULL))||
6 MAX(decode(t.city,'大阪',t.city||',',NULL))
7 from test t GROUP BY t.country
8 /
上述的相关内容就是对Oracle字段转字符串以及多行记录合并/连接/聚合字符串的几种方法的部分描述,希望会给你带来一些帮助在此方面。
标题名称:Oracle字段的转字符串实际操作方案
本文链接:http://www.shufengxianlan.com/qtweb/news44/498994.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联