贵梅之爱

导航

Oracle中SYS_CONNECT_BY_PATH函数的使用

在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示。
sys_connect_by_path(字段名, 2个字段之间的连接符号),注意这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,
方法如下 REPLACE(字段名,原字符,',')。
还有,这个函数使用之前必须先建立一个树,否则无用。
 
select  length(mc),mc,length( replace(mc,'>','')),length( replace(mc,'>',''))-2   from
( select  SYS_CONNECT_BY_PATH(ljsbmc,'>') as mc  from SB_LJSB
 start wITh ljsbid IN('HTB38CFAB6B63922CAB5D6A29A9933EDE5','HTD90254AF31C18C9F8BAD890F6FEC155C')
 connect by  prior  fjid=ljsbid) t
示例:
 
 

posted on 2016-05-28 17:09  贵梅之爱  阅读(566)  评论(0编辑  收藏  举报