首页 / ORACLE / Oracle 查询合并列
Oracle 查询合并列
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle 查询合并列,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2184字,纯文字阅读大概需要4分钟。
内容图文
1. decode 函数
decode 函数的语法为:
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
或 decode(条件,值1,返回值1,返回值2,...值n,返回值n,缺省值)
其定义如下::
IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF
例如:decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
2. wmsys.wm_concat 函数
把某一列合并,其语法为: wm_concat(列名)
把合并后的逗号(默认)换成其它的符号,比如|号 , replace(wm_concat(列名),‘,‘,‘|‘)
3. || 连接符号
语法为: select col1,col2||‘【‘ || col3|| ‘】‘ as A , col4 from table1 其中 ‘【’ 是自行加入的符号,可根据 需要进行替换
4. 自定义sql 语句
SELECT n_sec_code, TRANSLATE (LTRIM (text, ‘/‘), ‘*/‘, ‘*,‘) researcherList FROM (SELECT ROW_NUMBER () OVER (PARTITION BY n_sec_code ORDER BY n_sec_code, lvl DESC) rn, n_sec_code, text FROM (SELECT n_sec_code, LEVEL lvl, SYS_CONNECT_BY_PATH (c_researcher_code,‘/‘) text FROM (SELECT n_sec_code, c_researcher_code as c_researcher_code, ROW_NUMBER () OVER (PARTITION BY n_sec_code ORDER BY n_sec_code,c_researcher_code) x FROM m_researcher_stock_rel ORDER BY n_sec_code, c_researcher_code) a CONNECT BY n_sec_code = PRIOR n_sec_code AND x - 1 = PRIOR x)) WHERE rn = 1 ORDER BY n_sec_code;
只需要把SQL中“n_sec_code” 换为你的用来汇总的列,“c_researcher_code”替换为需合并文本的列,“m_researcher_stock_rel”替换为你的表名
参考文章:
http://www.cnblogs.com/heekui/archive/2009/07/30/1535516.html
http://blog.csdn.net/catoop/article/details/8124561
Oracle 查询合并列
标签:class des turn 条件 函数返回值 ext ... 表达式 缺省值
本文系统来源:http://www.cnblogs.com/wisdo/p/7259689.html
内容总结
以上是互联网集市为您收集整理的Oracle 查询合并列全部内容,希望文章能够帮你解决Oracle 查询合并列所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。