У меня есть столбец в таблице с типом данных VARCHAR, который хранит версии numbers.I нужно фильтровать и выбирать только номера версий, которые меньше или равно 5фильтра записи на основе числового значения, когда тип столбца VARCHAR
Входной
5.0.0.330
Eclair
5.0.0
5.0.0.591
5.0.0.405
6.0.0.522
4.0.2
7.1.0.205
5.0.0.592
2.3.4-ez
4.2.2-2013-12-11-V1.0
4.6.0.304
nubernel-2.6.35_v0.0.1
2.1-update1
2.3
Выход
5.0.0
4.0.2
2.3.4-ez
4.2.2-2013-12-11-V1.0
4.6.0.304
2.1-update1
2.3
я могу получить все версии менее 5 путем преобразования первого символа столбца varchar. Однако я не могу понять, как включить версию 5.0.0 в результирующий набор.
select distinct os_ver,substring(os_ver,1,1)
from
dbo.mytable
where
os_ver like '[0-9]%' and cast (substring(os_ver,1,1) as int) < 5
Это дает мне все версии меньше, чем 5, за исключением версии 5.0.0
4.0.2
2.3.4-ez
4.2.2-2013-12-11-V1.0
4.6.0.304
2.1-update1
2.3
Совершенные спасибо, также работает, если у меня есть версии 5.0 в данных. –
@inquisitive_mind Счастливые помочь. Я подозреваю, что вы просто передумали. –
Да, действительно, я передумал. Иногда решение действительно просто. Спасибо снова. –