Loading...

java .net

郁闷的问题 Order by

遇到一个郁闷的问题 ,百思不得其解
到这里请大家分析分析

outtable 表中有四条记录 如下图

我按out_scrpno排序,为什么2008-1000不在第一行呢???

同样的问题,如下图

为什么会是2008-999呢 为啥不是2008-1000???

请大家帮忙是啥子原因,多谢,多谢


Powered by Zoundry Raven

ps:问题基本解决,感谢各位提示:

SELECT TOP 1 OUT_SCRPNO FROM OUTTABLE WHERE CHARINDEX('-',OUT_SCRPNO,6) = 0 ORDER BY CONVERT(int,REPLACE(out_scrpno,'-','')) DESC 另好像不该发到首页,请管理员包含,心切

posted on 2008-12-19 22:00 阅读(1122) 评论(7)  编辑  收藏 所属分类: sql

评论

# re: 郁闷的问题 Order by[未登录] 2008-12-19 23:12 Jim

字符型嘛。
舉例:
jim@thinkpad:~$ python
Python 2.5.2 (r252:60911, Dec 19 2008, 02:10:36)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> '2008-999' > '2008-1000'
True
  回复  更多评论   

# re: 郁闷的问题 Order by 2008-12-19 23:27 宇义

比较到2008-1的时候1已经比9小了,管你后面几个0。  回复  更多评论   

# re: 郁闷的问题 Order by 2008-12-20 09:11

老大们 有啥办法解决???  回复  更多评论   

# re: 郁闷的问题 Order by 2008-12-20 09:57 troy

拆成两个字段,用int型
kouhongyu@163.com  回复  更多评论   

# re: 郁闷的问题 Order by 2008-12-20 10:10

可以用索引解决吗?  回复  更多评论   

# re: 郁闷的问题 Order by[未登录] 2008-12-20 13:07 zxbyh

把哪个"-" replace成"",也就是去掉哪个-

order by replace(out_scrpno,"-","")

不知道你用的什么数据库,你根据的情况使用replace功能函数就是了  回复  更多评论   

# re: 郁闷的问题 Order by[未登录] 2008-12-22 09:12 conjs

都是字符串,肯定 1 排在后面啊, 你把 “-” 过滤就可以了。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

希望有一天

我能用鼠标双击我的钱包

然后选中一张100元

按住“ctrl+c”

接着不停的“ctrl+v”

嘻嘻~~~笑醒~~~



导航

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(6)

随笔分类(102)

随笔档案(398)

文章分类

文章档案(10)

有趣网络

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜