2
A
回答
3
我發現它 - hierarchyId是如何實現的。這是一個叫做ORDPATH的光滑的雙位算法。
http://www.cs.umb.edu/~poneil/ordpath.pdf
(通過:http://sqlkpi.com/BLOGS/BOBB/post/ORDPATH-ORDPATH-everywhere.aspx)
這可能是一個有趣的項目。
2
SQL Server使用基於但不同於ORDPATH的編碼對hierarchyid
進行編碼。
您可以在[MS-SSCLRT]: Microsoft SQL Server CLR Types Serialization Formats找到hierarchyid
的「物理圖像」。總結:
編碼每個數字
n
在hierarchyid
作爲使用可變長度編碼的比特串。如果.
跟在n
的hierarchyid
之後,則編碼爲n+1
而不是n
。位串的長度不一定是8的倍數!
編碼的細節太長而不能包含在這裏。請注意,編碼必須支持負整數,零和正整數。它也必須是有序的保存。也就是說,對於整數
a
和b
,編碼爲e(a)
和e(b)
,如果a > b
,則e(a) > e(b)
(當編碼按照字典順序進行比較時)。如果
/
跟在數字後面,則向位串添加1。如果.
跟在數字後面,則向位串添加0。連接所有位串。
追加0到第3步,直到長度的結果是8的倍數(如果它已經是8的倍數,則不會追加任何0此處。)
相關問題
- 1. 如何使用hierarchyid數據類型
- 2. Hierarchyid數據類型和代碼優先
- 3. 如何將空值插入SQL Server數據庫中的hierarchyid數據類型?
- 4. 泛型類型參數如何工作?
- 5. 爲什麼沒有等效的hierarchyid SQL數據類型?
- 6. 如何使用SQL 2008 HierarchyID數據類型執行級聯刪除?
- 7. 數組類型分配如何工作?
- 8. Keys類型如何工作?
- 9. Acumatica是否支持hierarchyid類型?
- 10. 元數據類型和DataAnnotations不工作
- 11. ajax'腳本'數據類型不工作?
- 12. 該代碼如何工作來計算數據類型的sizeof?
- 13. objective-c xmlchar數據類型如何工作
- 14. 自定義數據類型如何在SQLite中工作
- 15. 有界typeclass如何工作自定義數據類型?
- 16. JavaScipt的數據類型轉換如何爲「==」運算符工作?
- 17. 類型類在Haskell中如何工作?
- 18. 如何在python-dbus中將數據類型作爲數據類型處理
- 19. 什麼原生dotNet數據類型最適合傳達SQL Server hierarchyId值?
- 20. 我的陣列數據類型不與Ember數據工作
- 21. 泛型類型的靜態構造函數如何工作?
- 22. 如何理解C++數據類型的本地數據類型?
- 23. 如何將oracle數據類型映射到java數據類型?
- 24. 類型擦除如何工作
- 25. java類型推斷如何工作?
- 26. 強類型DataContext是如何工作的?
- 27. 「==」如何在原始類型上工作
- 28. 類型如何在MATLAB/Octave中工作?
- 29. Value類型如何在.net中工作?
- 30. 整數類型轉換如何在java互操作中工作?