Read (Database Engine) by using CSharp

Applies to: yesSQL Server (all supported versions) YesAzure SQL Database

Read reads binary representation of SqlHierarchyId from the passed-in BinaryReader and sets the SqlHierarchyId object to that value. Read cannot be called by using Transact-SQL. Use CAST or CONVERT instead.


void Read( BinaryReader r )   


The BinaryReader object that produces a binary stream corresponding to a binary representation of a hierarchyid node.

Return types

CLR return type:void


Read does not validate its input. If an invalid binary input is given, Read might raise an exception. Or, it might succeed and produce an invalid SqlHierarchyId object whose methods can either give unpredictable results or raise an exception.

Read can only be called on a newly created SqlHierarchyId object.

Read is used internally by SQL Server when it is necessary, such as when writing data to hierarchyid column. Read is also called internally when a conversion is done between varbinary and hierarchyid.


Byte[] encoding = new byte[] { 0x58 };  
MemoryStream stream = new MemoryStream(encoding, false /*not writable*/);  
BinaryReader br = new BinaryReader(stream);  
SqlHierarchyId hid = new SqlHierarchyId();  

See Also

Write (Database Engine)
ToString (Database Engine)
CAST and CONVERT (Transact-SQL)
hierarchyid Data Type Method Reference