如何使用SQL Server比较软件版本?
发布时间:2020-12-12 08:48:18 所属栏目:MsSql教程 来源:网络整理
导读:当试图比较软件版本5.12到5.8时,版本5.12是较新的,但是数学上5.12小于5.8.如何比较两个版本,以便较新版本返回“Y”? SELECT CASE WHEN 5.12 5.8 THEN 'Y' ELSE 'N' END 可能的解决方案 在5.8中添加小数点后的0,以便比较5.08到5.12,但是这似乎需要一些代码.
当试图比较软件版本5.12到5.8时,版本5.12是较新的,但是数学上5.12小于5.8.如何比较两个版本,以便较新版本返回“Y”?
SELECT CASE WHEN 5.12 > 5.8 THEN 'Y' ELSE 'N' END 可能的解决方案 >在5.8中添加小数点后的0,以便比较5.08到5.12,但是这似乎需要一些代码. 解决方法declare @v1 varchar(100) = '5.12' declare @v2 varchar(100) = '5.8' select case when CONVERT(int,LEFT(@v1,CHARINDEX('.',@v1)-1)) < CONVERT(int,LEFT(@v2,@v2)-1)) then 'v2 is newer' when CONVERT(int,@v1)-1)) > CONVERT(int,@v2)-1)) then 'v1 is newer' when CONVERT(int,substring(@v1,@v1)+1,LEN(@v1))) < CONVERT(int,substring(@v2,@v2)+1,LEN(@v1))) then 'v2 is newer' when CONVERT(int,LEN(@v1))) > CONVERT(int,LEN(@v1))) then 'v1 is newer' else 'same!' end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |