日期:2014-05-20  浏览次数:20478 次

棘手的问题,关于按字段排序,001与1的排序先后问题,也许你也遇到过
事情这样
按一个字段排序,是字符型的,必须是字符型,因为要有父子关系等

以前我是按数字入库操作,如果按字符那种order by 很显然会发生10排在9前面的问题,原因大家也知道不用我说
为了按正常排序所以我用.PadLeft(5, '0')使入库后数据按00001,00002,00003....00010,00011的形式排,这样总不会有问题了吧

但如果这样作一旦数据量到99999条就会出错,因为位数不对吗!这里还不能通过增加成6位7位来解决,所以我的问题没法解决了,怎么办那

有没有让字符型排序时按数字排序的规则排序

------解决方案--------------------
希望matrix67大牛的这篇文章对你有所帮助:
http://www.matrix67.com/blog/archives/482


趣题:对数字进行编码使其按字典序排列后仍然有序