Select * from (
select '1.2' as prodsize union select '1.4' as prodsize union select '1.5' as prodsize union
select '1.6' as prodsize union select '1.8' as prodsize union select '1.9' as prodsize union
select '2.0' as prodsize union select '2.2' as prodsize union select '2.5' as prodsize union
select '2.8' as prodsize union select '3.5' as prodsize union select '14.1' as prodsize union
select '17' as prodsize ) a order by cast(prodsize as decimal(9,2))
select '1.2' as prodsize union select '1.4' as prodsize union select '1.5' as prodsize union
select '1.6' as prodsize union select '1.8' as prodsize union select '1.9' as prodsize union
select '2.0' as prodsize union select '2.2' as prodsize union select '2.5' as prodsize union
select '2.8' as prodsize union select '3.5' as prodsize union select '14.1' as prodsize union
select '17' as prodsize ) a order by cast(prodsize as decimal(9,2))
union select 1.4
union select 1.5
union select 1.6
......
union select 17
就是你把你的prodsize字段转换为数字类型就可以了
有俩个函数convert () 和cast()order by convert(float ,prodsize)
order by cast(prodsize as float)
insert into ta(prodsize)
select '1.2' as prodsize union select '1.4' as prodsize union select '1.5' as prodsize union
select '1.6' as prodsize union select '1.8' as prodsize union select '1.9' as prodsize union
select '2.0' as prodsize union select '2.2' as prodsize union select '2.5' as prodsize union
select '2.8' as prodsize union select '3.5' as prodsize union select '14.1' as prodsize union
select '17' as prodsize--按數字排序
select * from ta order by prodsize--按字符串排序
select * from ta order by cast(prodsize as varchar)