对字段值按字符拆分多行方法
2015-11-16 14:31
501 查看
1.如果有多行数据需要拆分的话
SELECT ename, substr(ename, LEVEL, 1) AS c FROM emp CONNECT BY LEVEL <= length(ename) AND PRIOR ROWID = ROWID AND PRIOR dbms_random.value() IS NOT NULL;
2.如果只有单行进行拆分
SELECT substr('SMITH', LEVEL, 1) FROM dual CONNECT BY LEVEL <= length('SMITH');
3.补充
SELECT regexp_substr(v.value, '[^,]+', 1, LEVEL) FROM (SELECT 1 lv, '1,2,3,4' VALUE FROM dual UNION ALL SELECT 2, 'a,b,c,d,e' FROM dual) v CONNECT BY nocycle LEVEL <= length(translate(v.value, ',' || v.value, ',')) + 1 AND PRIOR lv = lv AND PRIOR dbms_random.value() IS NOT NULL;
方法有很多,简单举这些例子。
相关文章推荐
- 初识cross apply & outer apply
- 为何Redis要比Memcached好用
- iOS判断机型
- leetcode: Employees Earning More Than Their Managers
- 常用javascript表单验证汇总
- 不要哭
- shell 脚本学习2
- 获取DATETIEM控件的界面日期
- 使用maven + eclipse 建置spark基礎環境
- 乒乓球拍板和皮子世界排名
- 女士手机一夜跑流量50GB原因是什么
- 【CentOS 7】Linux 分区方案参考
- 数据结构之(2)链表
- android中handler用法总结
- ViewPager+ImageView 图片滑动预览
- 利用动态代理+注解 实现子线程中执行方法
- jquery动画animate
- popup随鼠标移动,OpenLayers.Control.Measure测量距离
- Visual Studio 2008 添加MScomm控件的方法
- C语言实现数组的奇偶排序