剖析 (Database Engine)
剖析會將 hierarchyid 的標準字串表示法轉換成 hierarchyid 值。將字串類型轉換成 hierarchyid 時,就會隱含地呼叫 Parse。其作用與 ToString 相反。Parse() 是一種靜態方法。
語法
-- Transact-SQL syntax
hierarchyid::Parse ( input )
-- This is functionally equivalent to the following syntax
-- which implicitly calls Parse():
CAST ( input AS hierarchyid )
-- CLR syntax
static SqlHierarchyId Parse ( SqlString input )
引數
input
Transact-SQL:正在轉換的字元資料類型值。CLR:正在評估的字串值。
傳回類型
**SQL Server 傳回類型:**hierarchyid
**CLR 傳回類型:**SqlHierarchyId
備註
如果 Parse 收到一個值,而這個值不是 hierarchyid 的有效字串表示法,則會引發例外狀況。例如,如果 char 資料類型包含尾端空白,則會引發例外狀況。
範例
A. 轉換 Transact-SQL 值而不使用資料表
下列程式碼範例會使用 ToString 將 hierarchyid 值轉換成字串,並使用 Parse 將字串值轉換成 hierarchyid。
DECLARE @StringValue AS nvarchar(4000), @hierarchyidValue AS hierarchyid
SET @StringValue = '/1/1/3/'
SET @hierarchyidValue = 0x5ADE
SELECT hierarchyid::Parse(@StringValue) AS hierarchyidRepresentation,
@hierarchyidValue.ToString() AS StringRepresentation ;
GO
以下為結果集:
hierarchyidRepresentation StringRepresentation
------------------------- -----------------------
0x5ADE /1/1/3/
B. CLR 範例
下列程式碼片段會呼叫 Parse() 方法:
string input = “/1/2/”;
SqlHierarchyId.Parse(input);