gpt4 book ai didi

sql - Sql Server 中的版本号排序

转载 作者:行者123 更新时间:2023-12-02 21:56:04 25 4
gpt4 key购买 nike

我有一个存储版本的表,如下所示

Declare @tblVersion table(VersionNumber varchar(100))
Insert into @tblVersion Values('1.3.1')
Insert into @tblVersion Values('1.3.2.5')
Insert into @tblVersion Values('1.4.1.7.12')
Insert into @tblVersion Values('1.4.11.14.7')
Insert into @tblVersion Values('1.4.3.109.1')
Insert into @tblVersion Values('1.4.8.66')

Select * From @tblVersion

VersionNumber
1.3.1
1.3.2.5
1.4.1.7.12
1.4.11.14.7
1.4.3.109.1
1.4.8.66

我的要求是我需要对它们进行排序,以便输出为

VersionNumber
1.3.1
1.3.2.5
1.4.1.7.12
1.4.3.109.1
1.4.8.66
1.4.11.14.7

但是如果做一个简单的订单,它不会按预期工作

Select VersionNumber
From @tblVersion
Order By VersionNumber

VersionNumber
1.3.1
1.3.2.5
1.4.1.7.12
1.4.11.14.7
1.4.3.109.1
1.4.8.66

需要帮助

最佳答案

如果您使用的是 SQL Server 2008 或更高版本,则可以利用 HierarchyID 数据类型:

select * from @tblVersion
order by CAST('/'+REPLACE(VersionNumber,'.','/')+'/' as hierarchyID)

关于sql - Sql Server 中的版本号排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870945/

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