oracle-mysql数据迁移之sql处理----合并行
来源:互联网 发布:淘宝小二分工 编辑:程序博客网 时间:2024/04/29 14:35
关于oracle向mysql迁移,其中关于sql的不同 让我很有感触,不同的数据库原来细节这么多啊....我要专题总结下。
sql中的不同直接和存储过程、视图息息相关,这里总结几个比较常用的业务sql,进行对比总结。
这篇专门说下合并行:
合并行(多行变成一行) 感谢: http://blog.csdn.net/lifuxiangcaohui/article/details/6132147
一、mysql的合并行比较简单:就是使用group_concat函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])举例:
业务表
语句:
select id,group_concat(name) from aaa group by id;(默认是逗号分隔)
效果:
其他字段的用法 我只写出语句 ,效果图就不发了
select id,group_concat(DISTINCT name) from aaa group by id; ##DISTINCT 可以去掉重复的name值,很不错select id,group_concat( name order by name asc) from aaa group by id; ##我们可以控制同一行中name里每个值的顺序select id,group_concat( name SEPARATOR '##') from aaa group by id; ##指定分隔符注:我特意试了下int和date类型 也没有问题。
二、 oracle的合并行有点麻烦,同时一查才发现网上好多方法...汗颜啊。可以看看别人怎么弄的 http://lovejuan1314.iteye.com/blog/413694
我的方法及比较针对业务了,就是把某个varchar2的字段由多行数据 变成特殊字符串分隔的一行,不涉及数字型和日期型:
我的函数是:
create or replace function str_list2( key_name in varchar2,key in varchar2,coname in varchar2,tname in varchar2 )return varchar2astype rc is ref cursor;str varchar2(4000);sep varchar2(2);val varchar2(4000);cur rc;beginopen cur for 'select '||coname||' from '|| tname || ' where ' || key_name || ' = :x ' using key;loopfetch cur into val;exit when cur%notfound;str := str || sep || val;sep := ','; ---这里可以定制分隔符,也可以通过输入参数来传end loop;close cur;return str;end;函数参数说明:
str_list2( key_name in varchar2,key in varchar2,coname in varchar2,tname in varchar2 ) 分组字段名(字符串) 分组字段名 合并列名 表名(字符串)
函数测试:还是刚刚那个表,只不过用oracle建的,是varchar2类型,就不发图了:
实例sql如下:
select id,str_list2('id',id,'name','aa') as name from aa group by id
0 0
- oracle-mysql数据迁移之sql处理----合并行
- SQL Server 2005 合并行数据
- 86.Oracle数据库SQL开发之 修改表内存——使用MERGE合并行
- winForm 合并行处理
- 数据迁移,Oracle,Mysql,Sql server,数据库数据传输
- Oracle合并行 解析
- Oracle 拆分合并行
- SQL 合并行
- SQL:行转列、合并行
- mysql 合并行
- 合并行数据
- Oracle学习之:数据迁移工具(1):SQL Loader
- mysql数据迁移到oracle
- MYSQL数据迁移至ORACLE
- oracle 向mysql数据迁移
- oracle数据迁移到 mysql
- Oracle数据迁移至MySQL
- oracle 向mysql数据迁移
- HTTP状态码详解
- Android GridView中Item宽高不正常的问题解决
- 郑厂长系列故事——体检(4519)
- 有关Python应用的21个小技巧
- 《Unity中的Path对应各平台中的Path》
- oracle-mysql数据迁移之sql处理----合并行
- 在我求生之路所看到的希望
- 生成和解析XML格式文件
- ogre 创建地形
- POJ熄灯问题
- iOS Object-C 基础 UIlabel
- caffe源码简单解析——Layer层
- WIN7中组件服务中的DCOM配置找不到Microsoft Excel应用程序的解决办法和
- Android 获取当前资源对象的屏幕信息