sql做统计时,遇到难题,不想写存储过程来实现(因为我不会写存储过程,哈哈),网上找到灰常有用的文章,亲测有效,现摘抄下来,做个笔记,原地址:http://www.dedecms.com/knowledge/data-base/oracle/2013/0204/21403.html

以下逗号都换成“;”就OK

解决方案:
    SQL> select * from test;
    A_URS_ID
    --------------------------------------------------
    123,125
    123,124,125
    SQL> select * from test1;
    URS_ID     URS_NAME
    ---------- --------------------
    123        name1
    124        name2
    125        name3
    SQL> with split_data as (
    select key, rn, substr(str, instr(str, ',', 1, rn)+1,
    instr(str, ',', 1, rn+1) - instr(str, ',', 1, rn) - 1) str
    from (select a_urs_id key, ','||a_urs_id||',' str from test) a,
    (select rownum rn from dual connect by rownum < 10) b
    where instr(str, ',', 1, rn+1) > 0 )
    select key, substr(max(sys_connect_by_path(urs_name, ',')), 2) a_name
    from split_data a, test1 b
    where a.str = b.urs_id
    start with rn = 1
    connect by key = prior key and rn-1 = prior rn
    group by key;
    KEY                  A_NAME
    -------------------- ------------------------------------------------------------
    123,124,125          name1,name2,name3
    123,125               name1,name3

oracle sql查询字段中以“;”分割的字符串,转化成对应的,以“;”分割的文字串相关推荐

  1. oracle判断字符串以什么开头_在sql查询字段中怎么去判断是以某字母开头

    展开全部 方法1:用%即可达到. 例如:SELECT*FROMusersWHEREemaillike"%b@email.com%". 方法2:使62616964757a686964616fe59b9e ...

  2. oracle如何查询字段中是英文名称,如投保人是外国人

    今天工作需求查询出所有投保人是外国人的信息,使用了length()与lengthb函数. 在where条件中,加入length(投保人姓名)=lengthb(投保人姓名),结果就筛选出了所有的英文保单 ...

  3. sql查询字段中是否包含数字

    PATINDEX('%[0-9]%',Telephone)>0 转载于:https://www.cnblogs.com/nanapig77/archive/2012/06/08/2542043. ...

  4. SQL ---- 查询字段为逗号拼接的字符串

    需求: 根据orgcode查询对应的数据 单个orgcode的查询方式 方式一: SELECT * FROM WXAQ.T_ANNUAL_INSPECT_ACTUAL A WHERE 1=1 and ...

  5. SQL 查询字段包含特殊符号的数据

    SQL 查询字段包含特殊符号的数据 SQL 查询字段中包含单引号 查询的时候输入两个单引号就转义了 ,chr(39) 表示单引号.chr(40)表示双引号 eg: select * from XX.T ...

  6. sql查询数据库中所有表名

    sql查询数据库中所有表名 查询数据库里所有表名和字段名的语句 SQLSERVER 查询所有表名: SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' SELECT ...

  7. oracle突然查询变慢,[转] Oracle sql 查询突然变慢 -- 案例分析

    一条sql突然执行变慢,耗时9秒,应用是不能改的,只能从数据库方面下手解决 步骤思路: 1:查看sql是否走索引 2:查看索引是否失效 3:hint 强制走索引(只是用来查看hint状态下,查询是否更 ...

  8. Oracle中通过Function,存储过程,触发器,调用实现解析Clob字段中存在的xml字符串...

    摘要:接着之前的问题,在Oracle数据库中通过Function,存储过程,触发器实现解析数据表中CLOB大数据字段中存在的xml字符串有时,有个特殊的时间字符串要在数据库格式化处理,之前解析过来的时 ...

  9. 将sql数据库字段中的NULL都替换为空

    NULL与空字符串 '' 是相同的????? 在MySQL中,这两者是完全不同的.NULL是指没有值,而"则表示值是存在的,只不过是个空值.(在Oracle中是相同的) 将sql数据库字段中 ...

最新文章

  1. PHP提交表单到当前页动作检测
  2. QTP的那些事--学习QTP必备的网站整理
  3. Coins POJ - 1742(题解)
  4. 网页中设定表格边框的厚度的属性_请写出在网页中设定表格边框的厚度的属性_______;设定表格单元格之间宽度属性...
  5. JavaEE Tutorials (13) - 使用锁定控制对实体数据的并发访问
  6. 好企业:不是走得多快而是走得多稳
  7. 3.nginx 的基本配置与优化
  8. iOS维码的生成和扫描
  9. 设计模式——单例模式八种方式实现与分析(附代码示例)
  10. build up__css
  11. P1359 租用游艇(dijkstra不优化)
  12. I/O 的五分钟法则
  13. Maven 自己下载依赖包安装到本地仓库
  14. 2022年保研经验贴建议个人经历:计算机软件工程
  15. Cesium-监听地图服务是否加载完成的方法
  16. 最适合python程序员用的笔记本-适合编程的笔记本
  17. CAS-自定义CAS Server端登录页面
  18. mixly实现遥控器控制led
  19. 英伟达发布最强汽车芯!算力2000TOPS,车内计算全包了
  20. 如何查看linux系统的安装时间

热门文章

  1. 【路径规划】基于matlab卡尔曼滤波、三次插值极速赛道赛车路径规划【含Matlab源码 2158期】
  2. 联想拯救者R7000P开箱检查测试
  3. 九套精品404源码-12580code
  4. firefox阻止更新并阻止提示更新
  5. 如何远程控制另外一台电脑
  6. Tokyo Dystopia 全文搜索
  7. 孙振耀担任海辉董事会主席 自2008年3月生效
  8. Linux鸟哥的私房菜--基础篇--第五章 Linux的文件权限和目录配置
  9. 【练习题】python集合练习
  10. 线控转向 四轮转向控制 4WIS CarSim与Simulink联合