6
我在數據庫(SQL Server 2008),其價值有一列[datatype:varchar(50)]
,如下圖所示:排序子彈
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
這些編號的子彈爲我的記錄 我需要將它們分類爲分組中的所有記錄在序列
請幫我在這方面。
我在數據庫(SQL Server 2008),其價值有一列[datatype:varchar(50)]
,如下圖所示:排序子彈
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
這些編號的子彈爲我的記錄 我需要將它們分類爲分組中的所有記錄在序列
請幫我在這方面。
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)
返回
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
是你需要什麼?
是的..非常感謝..這是我需要..非常非常有幫助 – Nag
怎麼樣'order by column_name'? – Leri
'ORDER BY CAST('/'+ YourColumn +'/'AS HIERARCHYID)'做你需要的嗎? –
AFAIK在您的專欄上執行'order by'命令將按升序「合法」標題類型順序進行排序。你是否需要將所有值連接成單個字符串? – StuartLC