gpt4 book ai didi

sql-server - 将hierarchyid转换为词法顺序与hierarchyid深度优先顺序相同的字符串

转载 作者:行者123 更新时间:2023-12-02 19:25:52 24 4
gpt4 key购买 nike

我想知道是否有一种合理、高效的方法可以将 Hierarchyid 值转换为字符串,该字符串的词法排序保持其自然的深度优先排序。

谢谢!

最佳答案

根据下面的代码(在 AdventureWorks2008 上运行),您可以使用样式 1 转换为 varbinary,然后转换为 nvarchar。如果没有样式 1,则无法正确排序。

select convert(nvarchar(20),convert(varbinary(20),OrganizationNode,1),1)
as OrderableString,
OrganizationNode.ToString() as ReadableString,
convert(nvarchar(20),OrganizationNode) as ReadableString2
from humanresources.employee
order by strNode;

其中的一些排序给出:

OrderableString     ReadableString  ReadableString2
0x7AD744 /3/1/1/8/ /3/1/1/8/
0x7AD74C /3/1/1/9/ /3/1/1/9/
0x7AD754 /3/1/1/10/ /3/1/1/10/
0x7AD75C /3/1/1/11/ /3/1/1/11/
0x7AD764 /3/1/1/12/ /3/1/1/12/
0x7ADA /3/1/2/ /3/1/2/
0x7ADAB0 /3/1/2/1/ /3/1/2/1/
0x7ADAD0 /3/1/2/2/ /3/1/2/2/

关于sql-server - 将hierarchyid转换为词法顺序与hierarchyid深度优先顺序相同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com