1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
create function Version2Integer ( @sVer varchar(50) ) returns bigint
as
begin
declare @sCurrent varchar(50), @sOctet varchar(50),
@iVer bigint, @iIndex as int
set @iVer = 0
set @sCurrent = @sVer
-- récupération du premier "octet" de la version
set @iIndex = CharIndex('.',@sCurrent)
set @sOctet = substring( @sCurrent, 0, @iIndex)
set @sCurrent = substring( @sCurrent, @iIndex+1, 100)
set @iVer = @iVer + Cast(@sOctet as bigint) * 1000000000
-- récupération du deuxieme "octet" de la version
set @iIndex = CharIndex('.',@sCurrent)
set @sOctet = substring( @sCurrent, 0, @iIndex)
set @sCurrent = substring( @sCurrent, @iIndex+1, 100)
set @iVer = @iVer + Cast(@sOctet as bigint) * 1000000
-- récupération du troisième "octet" de la version
set @iIndex = CharIndex('.',@sCurrent)
set @sOctet = substring( @sCurrent, 0, @iIndex)
set @sCurrent = substring( @sCurrent, @iIndex+1, 100)
set @iVer = @iVer + Cast(@sOctet as bigint) * 1000
-- récupération du dernier "octet" de la version
set @sOctet = substring( @sCurrent, 0, 100)
set @iVer = @iVer + Cast(@sOctet as bigint) * 1
return @iVer
end |
Partager