******************* 如何排序??? *********************

jmlmj 2001-10-25 09:02:32
我的库中有一字段为字符型,如
编号 (字符) 记录为 1-1,1-2,1-3......1-15
如按编号排序,则为:
1-1
1-10
1-11
.
.
.
1-2
1-3
1-4
请问有什么方法可按正常序数排序?
...全文
121 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmlmj 2001-10-26
  • 打赏
  • 举报
回复
ma_zun_yi(虚心):
下面是我的sql语多:
select * from 用户管理 ORDER BY cast(SUBSTRING(户主编号,3,4) as int)
出错
语法错误(操作符丢)在查询表达式‘case (SUBSTRING(户主编号,3,4) as int)'中
ma_zun_yi 2001-10-25
  • 打赏
  • 举报
回复
如果那个字段名为a的话这样排序:ORDER BY cast(SUBSTRING(a,3,4) as int)
nothingneed 2001-10-25
  • 打赏
  • 举报
回复
如过你是给客户做项目
那么重要的是完成时间
空间和效率不用考虑太多
大可取出来排序
nothingneed 2001-10-25
  • 打赏
  • 举报
回复
如果你用Oracle可以用substr()在SQL语句中分别取出两边
如果要在SQL语句中转化为int比较
PLSQL中也许有这样的函数,但是我不清楚...
jmlmj 2001-10-25
  • 打赏
  • 举报
回复
to nothingneed(玄痴):
我知道可以这样,但客户要求只用我开始提及的那种形式,
有什么么解决方法。
mellow 2001-10-25
  • 打赏
  • 举报
回复
你可以把排序交给控件来完成\!LISTVIEW控件就可以!
nothingneed 2001-10-25
  • 打赏
  • 举报
回复
具我所知用纯SQL语句不行
因为你的数据库当初定义的有问题
应该为同样长度
1-01
1-10
1-02
...
jmlmj 2001-10-25
  • 打赏
  • 举报
回复
哪用sql的select命令能不能实现,能的话如何写???
我想好像用order by 一样生成自动排列的数据库
nothingneed 2001-10-25
  • 打赏
  • 举报
回复
把"-"两边分别转话为int 比较
不要用字符串比较!
sonicdater 2001-10-25
  • 打赏
  • 举报
回复
补充
当成 字符串 , 用 mid()
sonicdater 2001-10-25
  • 打赏
  • 举报
回复
取出 1- 后面的数, 放入 数组, 然后 sort.
再 取 2- 后面的数, 放入 数组, sort/

其它 雷同.
jmlmj 2001-10-25
  • 打赏
  • 举报
回复
我是指数据库的排序
可以有2-?,3-?。。。

你指用二维数组取出是不是指将数据库读入数组,再使用,如果这样当数据量大时,内存不就损耗很大?

请指出实现方法

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧