让所有的祖先都行不通

时间:2015-02-10 19:46:40

标签: sql-server sql-server-2008 hierarchyid

我在SQL服务器中使用HierarchyId并且我引用下面的文章来获取所有祖先

https://technet.microsoft.com/en-us/library/bb677212%28v=sql.105%29.aspx

我有以下代码:

  DECLARE @last_child HIERARCHYID
     select *
     FROM   dbo.Geography AS g
     WHERE  @last_child.GetAncestor(1) = 0x58

     SELECT @last_child

我在DB中有一个id为0x58的节点,它确实有一个子节点。但是,@last_child由于某种原因不断返回null。我做错了吗?

1 个答案:

答案 0 :(得分:0)

确定。我仍然不确定上面的代码有什么问题。但是,我找到了替代方法来查找特定父节点的所有子节点。代码发布如下:

SELECT *
FROM Geography
WHERE GeographyNode.IsDescendantOf(0x58) = 1