写点什么

YashanDB SYS_CONNECT_BY_PATH 函数

作者:YashanDB
  • 2025-08-05
    广东
  • 本文字数:1439 字

    阅读完需:约 5 分钟

SYS_CONNECT_BY_PATH

语法图

SYS_CONNECT_BY_PATH 为层次查询场景使用的函数,本函数返回从根节点到当前节点路径上所有节点名为 colName 的列的值,之间用指定的字符 delimiter 分隔开。


函数的返回值类型为 VARCHAR,返回值最大长度 32000,超长就会报错。


本函数不支持向量化计算。


colName


该参数为语句中表的列名。


delimiter


字符或字符串分隔符。只能为常量或常量的字符串。


示例(HEAP 表)


DROP TABLE IF EXISTS area_info;CREATE TABLE area_info (id INT, area_name VARCHAR(10), father_id INT);INSERT INTO area_info VALUES(2, '浙江', 0);INSERT INTO area_info VALUES(571, '杭州', 2);INSERT INTO area_info VALUES(1, '广东', 0);INSERT INTO area_info VALUES(755, '深圳', 1);INSERT INTO area_info VALUES(756, '龙华', 755);INSERT INTO area_info VALUES(757, '福田', 755);
SELECT id, father_id, LEVEL,CONNECT_BY_ROOT area_name AS name, SYS_CONNECT_BY_PATH(area_name, '/') path FROM area_info CONNECT BY PRIOR id = father_id START WITH father_id = 0 ORDER SIBLINGS BY id DESC; ID FATHER_ID LEVEL NAME PATH ------ ------------ -------- ------------ --------------- 2 0 1 浙江 /浙江 571 2 2 浙江 /浙江/杭州 1 0 1 广东 /广东 755 1 2 广东 /广东/深圳 757 755 3 广东 /广东/深圳/福田 756 755 3 广东 /广东/深圳/龙华
复制代码

代码

SYS_CONNECT_BY_PATH::= SYS_CONNECT_BY_PATH "(" colName "," delimiter ")"
复制代码

SYS_CONNECT_BY_PATH 为层次查询场景使用的函数,本函数返回从根节点到当前节点路径上所有节点名为 colName 的列的值,之间用指定的字符 delimiter 分隔开。

函数的返回值类型为 VARCHAR,返回值最大长度 32000,超长就会报错。

本函数不支持向量化计算。

colName

该参数为语句中表的列名。

delimiter

字符或字符串分隔符。只能为常量或常量的字符串。

示例(HEAP 表)

DROP TABLE IF EXISTS area_info;CREATE TABLE area_info (id INT, area_name VARCHAR(10), father_id INT);INSERT INTO area_info VALUES(2, '浙江', 0);INSERT INTO area_info VALUES(571, '杭州', 2);INSERT INTO area_info VALUES(1, '广东', 0);INSERT INTO area_info VALUES(755, '深圳', 1);INSERT INTO area_info VALUES(756, '龙华', 755);INSERT INTO area_info VALUES(757, '福田', 755);
SELECT id, father_id, LEVEL,CONNECT_BY_ROOT area_name AS name, SYS_CONNECT_BY_PATH(area_name, '/') path FROM area_info CONNECT BY PRIOR id = father_id START WITH father_id = 0 ORDER SIBLINGS BY id DESC; ID FATHER_ID LEVEL NAME PATH ------ ------------ -------- ------------ --------------- 2 0 1 浙江 /浙江 571 2 2 浙江 /浙江/杭州 1 0 1 广东 /广东 755 1 2 广东 /广东/深圳 757 755 3 广东 /广东/深圳/福田 756 755 3 广东 /广东/深圳/龙华
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB SYS_CONNECT_BY_PATH函数_数据库 大数据_YashanDB_InfoQ写作社区