sql语句查询中常见的小问题

1. 查寻最大值时 比如查版本  数据库字段为  version  类型 varchar  

查询语句   select * from tab_1 where version =(select max(version) from tab_1)

此时查询的版本 当版本在1-9时  数据正常  当版本超过10  就一直查询为9

解决方法  

select max(cast(version as UNSIGNED INTEGER)) from  tab_1   

原因: 查询varchar  9  10  11 中 9  最大  (这么说 很简明了。。。)  只要将格式进行转换  便可正常查询