关于sqlserver order by 排序错乱问题

因为字段使用了vchar类型,不是int类型,所以排序的时候,2会比1大,所以排序查询2会在10-19的后面,怎么解决这个问题,只需要在字段前面补足0即可。这样 2的话   就是0000002   ,19就是0000019    排序就不会错乱掉

select top 200 RIGHT('0000000'+CONVERT(VARCHAR(10),字段),7),*  from  表  order by 字段

你可能感兴趣的:(sql)