表中有一个字段 是汉字+数字组合而成,汉字在前 数字在后,现在要查出记录并按这个字段排序
先按汉字部分排(汉字一样的在一起),再按后面的数字大小排,汉字和数字长度都不定
求解

解决方案 »

  1.   

    贴建表及插入记录的SQL,及要求结果出来看看
      

  2.   

    表cx  字段 bh
    调款备1
    调款备2
    调款备3
    ...
    缴款备1
    缴款备2
    ...
    缴款备10
    缴款备11
    缴款备12
    ...
    如果用select bh from cx order by bh 返回结果
    调款备1
    缴款备2
    ...
    调款备5
    缴款备1
    缴款备10
    缴款备11
    缴款备12
    缴款备2
    缴款备3
    ...
    缴款备9
    文字相同的在一起了  但是数字不是按从小到大排的序
    我想得到结果是文字相同的在一起 数字从小到大排序
      

  3.   

    表cx  字段 bh
    调款备1
    调款备2
    调款备3
    ...
    缴款备1
    缴款备2
    ...
    缴款备10
    缴款备11
    缴款备12
    ...
    如果用select bh from cx order by bh 返回结果
    调款备1
    缴款备2
    ...
    调款备5
    缴款备1
    缴款备10
    缴款备11
    缴款备12
    缴款备2
    缴款备3
    ...
    缴款备9
    文字相同的在一起了  但是数字不是按从小到大排的序
    我想得到结果是文字相同的在一起 数字从小到大排序
      

  4.   

    表cx  字段 bh
    调款备1
    调款备2
    调款备3
    ...
    缴款备1
    缴款备2
    ...
    缴款备10
    缴款备11
    缴款备12
    ...
    如果用select bh from cx order by bh 返回结果
    调款备1
    缴款备2
    ...
    调款备5
    缴款备1
    缴款备10
    缴款备11
    缴款备12
    缴款备2
    缴款备3
    ...
    缴款备9
    文字相同的在一起了  但是数字不是按从小到大排的序
    我想得到结果是文字相同的在一起 数字从小到大排序
      

  5.   

    select * from cx order by mid(bh,1,3),mid(bh,4,100)+0
      

  6.   

    select * from cx order by substring(bh,1,3),substring(bh,4)+0