Oracle函数之SYS_CONNECT_BY_PATH使用及问题

 时间:2024-10-11 21:02:56

最近在做一需求:需要列出所有的部门、部门全称、ID等字段内容。但是之前的同事在做数据库设计时未增瑕铆幌约加机构全称这一字段,因此需要通过SQL拼接此字段。拼接的过程用到了函数SYS_CONNECT_BY_PATH,也遇到了一些问题,把这个过程分享给大家~

工具/原料

电脑

oracle、pl/sql客户端

SYS_CONNECT_BY_PATH使用

1、 1、首先我们先看下表结构以及需要达到的目标: 表结构如下图,可以看到未包含机构全称字段;需求为查询所有组织机构的机构全称。

Oracle函数之SYS_CONNECT_BY_PATH使用及问题

3、 3、根据需求、函数说明拼写后的SQL:select ORG_鲍伊酷雪NAME, substr(SYS_CONNECT_BY_PATH(ORG_NAME, &垆杪屑丝#39;/'), 9) from t_ituser_org twhere t.org_type = '0'START WITH PARENT_ORG_ID IS NULLCONNECT BY PRIOR ORG_ID = PARENT_ORG_ID 大家在SQL可以单独使用SYS_CONNECT_BY_PATH(ORG_NAME, '/')方法即可。增加substr是为了将机构全称中的公共内容去除。

Oracle函数之SYS_CONNECT_BY_PATH使用及问题

2、 2、根据错误提示,猜想为:某条记录的该字段内容包含有我们的分割符“/”,经过查询我们确实有几条数据的部门名称包含/字符。

Oracle函数之SYS_CONNECT_BY_PATH使用及问题
  • 信贷公司如何做好客户经理
  • Excel关闭软件技巧汇总:快捷键+鼠标单击
  • 金十数据如何启用每日早报
  • 浪花直播软件怎么申请注销
  • 宜搜小说如何开启VIP会员?
  • 热门搜索
    拍拍贷怎么样 cereal怎么读 京豆怎么获得 婴儿肚子胀气怎么办 led显示屏怎么改字 联想手机怎么样 嗓子痒咳嗽怎么办 孩子发烧怎么物理降温 智齿发炎怎么办 福特野马怎么样