只是要清楚,我不能使用CLR UDF和SUBSTRING
和CHARINDEX
只是不切芥子。複雜的T-SQL子串
我們有一個賬戶被他人的子帳戶一個虛假的帳戶管理系統,更好地描述here(附表太:))
現在,假設我有一個帳戶2.4.1.3
(顯然,母公司成爲2.4.1
)如果想提取「前綴」2.4.1
,以便我可以創建另一個同行中的下一個ID(假設爲2.4.1.4
)的兄弟賬戶,我將如何去分解T-SQL中的這樣一個字符串?
當然,類似的方式可以應用於兒童帳戶,但這只是這聖代的奶油糖果。
你有沒有考慮過使用內建的'HierarchyId'類型? '選擇CAST('/ 2/4/1/3 /'作爲HierarchyId)。GetAncestor(1).ToString()' – 2011-04-23 11:07:01