If your "version string" had nice, fixed-length fields (e.g. "01.10.02") then it's easy.
Since yours doesn't, MSSQL 2016 and higher offers STRING_SPLIT.
Alternatively, this is a great solution that you should be able to use with most RDBMs (including Oracle, MSSLQ and mySql):
https://stackoverflow.com/a/33560117/421195
SQL> WITH DATA AS
2 ( SELECT 'F/P/O' str FROM dual
3 )
4 SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1,
5 SUBSTR(str, Instr(str, '/', -1, 1) +1) part2
6 FROM DATA
7 /
PART1 PART2
----- -----
F/P O
The example breaks the string into separate columns (e.g. major/middle/minor numbers).
From there, you need to compare the corresponding columns in different rows.
Conceivably, you can do everything in one SQL "select". In practice, it would probably be easier to write a stored procedure to do one piece at a time.
I hope that helps point you in the right direction...