Foxtable(狐表)用户栏目专家坐堂 → sql中倒排序为什么1001或排在999的后面?


  共有2266人关注过本帖树形打印复制链接

主题:sql中倒排序为什么1001或排在999的后面?

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
sql中倒排序为什么1001或排在999的后面?  发帖心情 Post By:2018/11/28 20:20:00 [只看该作者]

分页加数据时出现这个情况 ,下面是加载的sql语句,
SELECT  *
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY 生产单号 DESC ) AS RowNum ,
                    *
          FROM      生产单 a
          --WHERE     a.生产单号 = 'ZL1811-1001'
        ) AS tb
WHERE   RowNum >= 1
        AND RowNum <= 30

上面的查询得到的是ZL1811-999,ZL1811-998这样的数据,而ZL1811-1001却没有了,而实际上是有这个数据的,加上where条件可以查到
倒排时要怎么样才能让ZL1811-1001在999的前面?

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/11/28 20:26:00 [只看该作者]

不要告诉我将原来3位数据的编号前面都加个0啊,这样的话,编号都是ZL1811-999这样类似的,而且辍都不一样,好多单据中都引用到啊,还好位数是固定的,可以按长度来判断,
应该还有其他方法吧

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2018/11/28 20:37:00 [只看该作者]

1、字符列排序,就是这样的没办法的;

 

2、你可以加补0进去,你也可以添加排序列;

 

3、没办法,只能,想办法把内容分割出来,或者补齐数据。


 回到顶部