如何正确排序索引(wbs)?

任何人都知道如何根据索引号(wbscode)对记录进行排序

如果我在 1.1.9 之后使用 ORDER BY 它不会继续 1.1.10 更改为 1.2 我找不到正确的方法来执行连续的顺序。

有人知道正确的方法,即

1

1.1.1

1.1.2

1.1.3

1.1.4

1.1.5

1.1.6

1.1.7

1.1.8

1.1.9

1.1.10

1.1.11

1.2

1.2.1

2

.. ...

从房屋中选择 wbs ORBER BY wbs 🙁

回答

您可以使用数据类型 hierarchyid

例子

Declare @YourTable Table ([WBSCode] varchar(50))
Insert Into @YourTable Values 
 ('1')
,('1.1.1')
,('1.1.2')
,('1.1.3')
,('1.1.4')
,('1.1.5')
,('1.1.6')
,('1.1.7')
,('1.1.8')
,('1.1.9')
,('1.1.10')
,('1.1.11')
,('1.2')
,('1.2.1')
,('2')
 
Select * 
 from @YourTable
 order by convert(hierarchyID,'/'+replace(WBSCode,'.','/')+'/')

结果

WBSCode
1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.1.10
1.1.11
1.2
1.2.1
2


以上是如何正确排序索引(wbs)?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>