Oracle字段的转字符串实际操作方案

数据库 Oracle
以下的文章主要介绍的是Oracle字段转字符串以及多行记录合并/连接/聚合字符串的几种常用方法的介绍,以下就是文章的主要内容的介绍。

以下的文章是通过Oracle字段转字符串以及其多行记录合并/连接/聚合字符串的几种常用方法的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。

怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。

 

什么是合并多行字符串(连接字符串)呢,例如:

 

 

  1. SQL> desc test;   
  2. Name Type Nullable Default Comments   
  3. COUNTRY VARCHAR2(20) Y   
  4. CITY VARCHAR2(20) Y  
  5. SQL> select * from test;  
  6. 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字段转字符串以及多行记录合并/连接/聚合字符串的几种方法的部分描述,希望会给你带来一些帮助在此方面。 

【编辑推荐】

  1. Oracle服务器如何进一步的获取权限
  2. Oracle 10g归档日志
  3. 对Oracle数据库设计中字段的正确使用方案
  4. 访问 Oracle 数据库的实例描述
  5. 提高 Oracle JDBC的性能的办法
责任编辑:佚名 来源: 博客园
相关推荐

2010-03-16 10:58:35

Python字符串

2010-04-13 13:33:37

Oracle字符集

2010-06-07 16:36:29

MySQL连接字符串

2010-04-12 14:44:06

Oracle Impd

2010-06-17 16:38:14

MS SQL Serv

2010-03-16 16:22:36

Python字符串

2010-04-16 09:52:40

Oracle JOB

2010-04-12 13:05:56

Oracle软件

2010-03-22 18:20:47

Python正则表达式

2010-04-28 10:13:37

Oracle删除重复数

2010-03-29 10:55:38

Oracle优化

2010-04-29 15:09:42

Oracle密码文件

2010-07-22 14:38:17

2010-06-17 16:22:04

SQL Server

2010-05-10 10:19:28

Oracle实战RMA

2010-04-01 14:06:13

Oracle Name

2010-04-20 11:06:33

Oracle索引

2010-03-31 16:11:00

Oracle启动

2010-04-01 13:39:43

Oracle Name

2010-04-14 17:06:41

Oracle安装路径
点赞
收藏

51CTO技术栈公众号