Oracle字段的转字符串实际操作方案 (oracle是什么)

教程大全 2025-07-15 17:18:50 浏览

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

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

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

中国 台北

中国 香港

中国 上海

日本 东京

日本 大阪

要求得到如下结果集:

中国 台北,香港,上海

日本 东京,大阪

实际就是对字符实现一个聚合功能,我很奇怪为什么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

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

【编辑推荐】


Java 处理 oracle clob类型 字段

如果使用Oracle的话,直接将Clob字段读取为String;也就是下面这一行:clob = () (1);可以直接写成String str = (1);

如何将oracle数据库中的一张表中的字段有选择性的导出到csv文件并定时执行

可用sqlplus的方式先在某文件夹下(我就直接以C盘根目录为例了)创建文件内容如下set linesize 200set term off verify off feedback off pagesize 0set head offset trimout onset trimspool onspool offexit其中是你要保存的文件名,这里貌似不能导成excel,只可以保存成csv格式,然后你再自己转换吧,文本是没问题的,其中 是另一个文件,内容如下你要想把数据导成以逗号分隔脚本这么写我就简单以emp表为例了,也是用的to_char函数,只要语句写正确就OKselect empno||,||to_char(hiredate,yyyy-mm-dd) from emp;结尾必须用分号把这个保存成文件然后cmd进到你要执行的文件夹下sqlplus 用户名/密码 @main然后无限的等待,等到把你的文件导成你将来要是要把文件导入到哪的话,可以用sqlloader这个网上教程很多

select TO_CHAR(to_date(23-JUN-11,dd-MON-YY),YYYY-MM-DD) from dual

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐