Nag*_*Nag 7 sql-server sql-server-2008
我[datatype:varchar(50)]在数据库(SQL Server 2008)中有一列具有如下所示的值:
1
2
1.1.11
4.1
5
2.1
1.1
4
1.2.1
4.2.2
4.3
4.2
4.3.1
4.2.1
11.2
1.2.4
4.4
Run Code Online (Sandbox Code Playgroud)
这些是我记录的编号项目符号我需要将它们排序为按顺序对所有记录进行分组 1,1.1,1.1.1,2,3.1,4,10.1,11.1....
请帮助我这方面.
Mar*_*ith 18
WITH T(YourColumn) AS
(
SELECT '1' UNION ALL
SELECT '2' UNION ALL
SELECT '1.1.11' UNION ALL
SELECT '4.1' UNION ALL
SELECT '5' UNION ALL
SELECT '2.1' UNION ALL
SELECT '1.1' UNION ALL
SELECT '4' UNION ALL
SELECT '1.2.1' UNION ALL
SELECT '4.2.2' UNION ALL
SELECT '4.3' UNION ALL
SELECT '4.2' UNION ALL
SELECT '4.3.1' UNION ALL
SELECT '4.2.1' UNION ALL
SELECT '11.2' UNION ALL
SELECT '1.2.4' UNION ALL
SELECT '4.4'
)
SELECT *
FROM T
ORDER BY CAST('/' + YourColumn + '/' AS HIERARCHYID)
Run Code Online (Sandbox Code Playgroud)
返回
YourColumn
----------
1
1.1
1.1.11
1.2.1
1.2.4
2
2.1
4
4.1
4.2
4.2.1
4.2.2
4.3
4.3.1
4.4
5
11.2
Run Code Online (Sandbox Code Playgroud)
这就是你需要的吗?
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |