以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sql中倒排序为什么1001或排在999的后面? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128104) |
-- 作者:happyft -- 发布时间:2018/11/28 20:20:00 -- sql中倒排序为什么1001或排在999的后面? 分页加数据时出现这个情况 ,下面是加载的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 -- 发布时间:2018/11/28 20:26:00 -- 不要告诉我将原来3位数据的编号前面都加个0啊,这样的话,编号都是ZL1811-999这样类似的,而且辍都不一样,好多单据中都引用到啊,还好位数是固定的,可以按长度来判断, 应该还有其他方法吧
|
-- 作者:有点色 -- 发布时间:2018/11/28 20:37:00 -- 1、字符列排序,就是这样的没办法的;
2、你可以加补0进去,你也可以添加排序列;
3、没办法,只能,想办法把内容分割出来,或者补齐数据。 |