1
我与数据类型为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
我能得到通过转换varchar列的第一个字符,所有小于5的版本。但是我无法弄清楚如何在结果集中包含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乐于助人。我怀疑你只是过度思考 –
是的,的确,我确实在过度思考它。有时候解决方案非常简单。再次感谢。 –