select * from cl_ld where 1=1 and ld_leixing='领料单' and leibie='胶垫' and cl_mc='胶垫' order by ld_id desc
表cl_ld 中 字段ld_id 为bigint 数据类型
具体如(2006913165925,200692595755,200692695757),我查询他不能按照时间顺序排序?该如何解决?

解决方案 »

  1.   

    order by ld_id asc/desc即可.
      

  2.   

    dawugui(潇洒老乌龟) 
    2006913165925,200692595755,200692695757,200692695741,2006926902 是自动获取的(长度不一致,如何按时间排序,这些都和时间有关)
       不得行哈
      

  3.   

    select * from cl_ld where 1=1 and ld_leixing='领料单' and leibie='胶垫' and cl_mc='胶垫' order by right(ld_id,8) desc
      

  4.   

    select * from cl_ld where 1=1 and ld_leixing='领料单' and leibie='胶垫' and cl_mc='胶垫' order by cast(ld_id as datetime) desc
      

  5.   

    dawugui(潇洒老乌龟) 
    select * from cl_ld where 1=1 and ld_leixing='领料单' and leibie='胶垫' and cl_mc='胶垫' order by cast(ld_id as datetime) desc
    -------------------------------------------------------------------
    这样一定会报错的.
      

  6.   

    应该可以(ld_id 可以
    要不转换成字符串格式试试
    cast(ld_id as varchar)
      

  7.   

    2006913165925,200692595755,200692695757我认为楼主这是设计的问题,
    20060913165925,2006092595755,2006092695757
    应该生成这样的数据,yyyymmdd格式,前面的0不要去掉。