可能重复:
拆分字符串并在 mssql 中返回最大
我需要比较具有版本值的字符串,例如: string1 = 2.3.4 string2 = 2.5.6 现在在上述情况下,我需要检查哪个字符串版本更大?
可能重复:
拆分字符串并在 mssql 中返回最大
我需要比较具有版本值的字符串,例如: string1 = 2.3.4 string2 = 2.5.6 现在在上述情况下,我需要检查哪个字符串版本更大?
在 sql 服务器中:
Declare @string1 varchar(10)
Declare @string2 varchar(10)
SET @string1='2.3.4'
SET @string2='2.5.6'
select CASE WHEN convert(int,replace(@string1,'.','')) > convert(int,replace(@string2,'.','')) then @string1 else @string2 end GreaterVersion
你可以试试 strcmp
CASE
WHEN str1 = str2 THEN 0
WHEN str1 < str2 THEN -1
WHEN str1 > str2 THEN 1
ELSE NULL --one of the strings is NULL so won't compare (added on edit)
END