更好地理解 HeirarchyId 节点

Understanding HeirarchyId Node a little better

我正在查看 SQLserver 2008 中的 HeirarchyId 并参考了以下文档:

http://www.codeproject.com/Tips/740553/Hierarchy-ID-in-SQL-Server

据我所知,像

这样的说法
INSERT INTO H (Node, ID, Name)
   VALUES (HierarchyId::GetRoot(), 1, 'Thuru') 

将向数据库中插入一个节点对象。其中有三个属性,每一个都转换成一列:

其中 Node 包含一些人类不可读的值,但我认为 Node Text 是一个吸引眼球的地方,它包含 一种格式,它既是人类可读的,又能跟踪每个节点在其中的位置那个树。因此,当我们说 "HeirarchyId" 它指的是哪一列时,Node 和 NodeText 是完全相同的东西,除了 Node Text 是 Node 的人类可读表示之外?

Node是示例中数据类型为HierarchyID的列名。在此查询的结果中,NodeText 是一个派生列,它是 Node 列路径的字符串表示形式(如您所说,Node 不是人类可读的)。

对于节点所在的每个深度级别,子节点将由斜杠分隔 - 因此孙子节点可能看起来像:1/3/15

NodeText     Node    NodeLevel     ID    Name
=============================================
/            0x      0             1     Thuru