共用方式為


SqlHierarchyId 結構

The SqlHierarchyId type represents a position in a hierarchical structure, specifying depth and breadth.

命名空間:  Microsoft.SqlServer.Types
組件:  Microsoft.SqlServer.Types (在 Microsoft.SqlServer.Types.dll 中)

語法

'宣告
<CLSCompliantAttribute(True)> _
<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered := True,  _
    MaxByteSize := , Name := "SqlHierarchyId")> _
Public Structure SqlHierarchyId _
    Implements IBinarySerialize, INullable, IComparable
'用途
Dim instance As SqlHierarchyId
[CLSCompliantAttribute(true)]
[SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = "SqlHierarchyId")]
public struct SqlHierarchyId : IBinarySerialize, 
    INullable, IComparable
[CLSCompliantAttribute(true)]
[SqlUserDefinedTypeAttribute(Format::UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = L"SqlHierarchyId")]
public value class SqlHierarchyId : IBinarySerialize, 
    INullable, IComparable
[<SealedAttribute>]
[<CLSCompliantAttribute(true)>]
[<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = , Name = "SqlHierarchyId")>]
type SqlHierarchyId =  
    struct 
        interface IBinarySerialize 
        interface INullable 
        interface IComparable 
    end
JScript 支援結構的使用,但不支援結構的宣告。

SqlHierarchyId 型別公開下列成員。

屬性

  名稱 說明
公用屬性 IsNull Gets a value indicating whether the SqlHierarchyId is nullnull 參考 (在 Visual Basic 中為 Nothing).
公用屬性靜態成員 Null Gets a SqlHierarchyId with a hierarchy identification of nullnull 參考 (在 Visual Basic 中為 Nothing).

上層

方法

  名稱 說明
公用方法 CompareTo(Object) Returns a value indicating the results of a comparison between a SqlHierarchyId and an object.
公用方法 CompareTo(SqlHierarchyId) Returns a value indicating the results of a comparison between two SqlHierarchyId nodes.
公用方法 Equals Evaluates whether SqlHierarchyId and obj are equal. (覆寫 ValueType.Equals(Object)。)
公用方法 GetAncestor Retrieves the SqlHierarchyId node n levels up the hierarchical tree.
公用方法 GetDescendant Gets the value of a descendant SqlHierarchyId node that is greater than child1 and less than child2.
公用方法 GetHashCode Gets a hash of the path from the root node of the hierarchy tree to the SqlHierarchyId node. (覆寫 ValueType.GetHashCode()。)
公用方法 GetLevel Gets a value indicating the level of the SqlHierarchyId node in the hierarchical tree.
公用方法 GetReparentedValue Gets a value representing the location of a new SqlHierarchyId node that has a path from newRoot equal to the path from oldRoot to this, effectively moving this to the new location.
公用方法靜態成員 GetRoot Gets a value representing the root SqlHierarchyId node of the hierarchy.
公用方法 GetType (繼承自 Object。)
公用方法 IsDescendantOf Gets a value indicating whether the SqlHierarchyId node is the descendant of the parent.
公用方法靜態成員 Parse Converts the canonical string representation of a SqlHierarchyId node to a SqlHierarchyId value.
公用方法 Read Reads from a specified binary reader into a SqlHierarchyId.
公用方法 ToString Returns the canonical string representation of a SqlHierarchyId node from a SqlHierarchyId value. (覆寫 ValueType.ToString()。)
公用方法 Write Writes a SqlHierarchyId to a specified binary writer.

上層

運算子

  名稱 說明
公用運算子靜態成員 Equality Evaluates whether two SqlHierarchyId nodes are equal.
公用運算子靜態成員 GreaterThan Evaluates whether one specified SqlHierarchyId node is greater than another.
公用運算子靜態成員 GreaterThanOrEqual Evaluates whether one specified SqlHierarchyId node is greater than or equal to another.
公用運算子靜態成員 Inequality Evaluates whether two SqlHierarchyId nodes are unequal.
公用運算子靜態成員 LessThan Evaluates whether one specified SqlHierarchyId node is less than another.
公用運算子靜態成員 LessThanOrEqual Evaluates whether one specified SqlHierarchyId node is less than or equal to another.

上層

備註

This type provides the following benefits for storing hierarchical information:

  • Very compact data storage.

  • Depth-first comparison. Indexes on this type are in depth-first order, and nodes close to each other in a depth-first traversal are stored near each other.

  • Support for arbitrary insertions and deletions.

  • A limitation of this type is that a single instance of the hierarchy data type can be no larger than 892 bytes. Hierarchies that possess too many levels to fit within this limitation must use a different data type.

The HierarchyId type is available to CLR clients as the SqlHierarchyId data type.

範例

DECLARE @employee hierarchyid
SELECT @employee = OrgNode FROM HumanResources.EmployeeDemo
  WHERE LoginID = 'adventure-works\dylan0'

SELECT * FROM HumanResources.EmployeeDemo
WHERE @employee.IsDescendantOf(OrgNode) = 1

執行緒安全性

這個型別的任何公用 static (在 Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。

請參閱

參考

Microsoft.SqlServer.Types 命名空間