Oracle DEPTH() 函数使用指南
在 Oracle 数据库中,DEPTH() 是一个常与 Oracle XML DB 资源层级操作符(如 UNDER_PATH)协同使用的辅助函数。在基于 XML 存储库、虚拟文件夹或层次路径的检索操作中,DEPTH() 能够返回当前被检索项相对于指定根路径的相对层级深度(Levels Deep)。
语法
Oracle DEPTH() 函数的标准语法如下:
DEPTH( correlation_integer )
参数说明
correlation_integer:必需。一个非负整数,必须与查询中对应层级条件操作符(例如UNDER_PATH操作符的最后一个相关性参数)保持一致。
返回值
返回一个整数标量,表示当前目标项从指定的基准路径向下遍历的实际层级层数。
使用示例
在 UNDER_PATH 层次路径查询中获取深度
在 Oracle XML DB 资料档案库或资源视图中检索文件与文件夹层级:
SELECT
ANY_PATH,
DEPTH(1) AS path_depth
FROM RESOURCE_VIEW
WHERE UNDER_PATH(res, 1, '/public/docs', 1) = 1;
在该示例中:
UNDER_PATH(res, 1, '/public/docs', 1)筛选/public/docs路径下的资源;- 尾部的关联整数参数
1与DEPTH(1)相互绑定,用于计算并输出每个匹配资源相对于/public/docs的层级深度。
相关 XML 函数与工具
- 📚 Oracle XML 函数参考指南:系统浏览所有 Oracle XML 函数
- 🔍 EXISTSNODE() 函数:判断 XML 节点是否存在
- 🌳 SYS_CONNECT_BY_PATH() 函数:在传统关系表中拼接完整的层级树路径