SQL排序问题

软件架构师何志丹
《深入浅出Visual c++》书籍作者
领域专家: C/C++技术领域
2003-11-27 11:56:30
某个字符串字段是数字串,如何让它按数字的方式排序.
可能有多个关键字.
第一关键字是数字串,要按数字的方式排序.
第二关键字是字符串,按字符串方式排序.

结果如下:
"20" "a"
"20" "b"
"100" "c"

...全文
81 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
seekmoon 2003-12-09
  • 打赏
  • 举报
回复
hh
realgz 2003-11-28
  • 打赏
  • 举报
回复
大力果然学识广博,查了一下 access果然有iif函数 还好用的说 ,那问题应该就直接迎刃而解了!!

ps:我还是不知道 office2003的帮助怎么用。。。回去卸了它,装2000
  • 打赏
  • 举报
回复
工序号 + 0

工序号是字符串
在access的sql视图中不行
但用vc调用时,可以
????
pengdali 2003-11-28
  • 打赏
  • 举报
回复
你有必要这么做吗?
order by ...+0 不是可以?


SELECT * FROM [5] order by iif(工序号 not like '%[^1234567890]%',工序号) desc,..
realgz 2003-11-28
  • 打赏
  • 举报
回复
我icq 154259868
msn:gz_ho@HOTMAIL.COM
  • 打赏
  • 举报
回复
好像还是有问题
语法错误
操作符丢失
realgz 2003-11-28
  • 打赏
  • 举报
回复
昨天洗澡的时候忽然想到的, access可以自联接吧?
realgz 2003-11-28
  • 打赏
  • 举报
回复
SELECT t.*
FROM [5] t,[5] t2
where t.工序号*=t2.工序号 and t2.工序号<='9'
order by cast (t2.gh as int)
  • 打赏
  • 举报
回复
我看看!
realgz 2003-11-27
  • 打赏
  • 举报
回复
是不是还包含了万一不是纯数字的问题?
那再加个isnumeric判断
select * from 表 order by (case when isnumeric(第一关键字)=1 then cast(第一关键字 as int) end ,第二关键字
yoki 2003-11-27
  • 打赏
  • 举报
回复
是不是另有隐情啊
rocllllll 2003-11-27
  • 打赏
  • 举报
回复
up
wsqsoft 2003-11-27
  • 打赏
  • 举报
回复
up
lynx1111 2003-11-27
  • 打赏
  • 举报
回复
大力解决了咱希望能接点分
txlicenhe 2003-11-27
  • 打赏
  • 举报
回复
不会吧,四星将问这么简单的问题?
select * from 表 order by cast(第一关键字 as int),第二关键字

还是另有...?
lvltt 2003-11-27
  • 打赏
  • 举报
回复
四星上将的问题啊。。。严重关注!
pengdali 2003-11-27
  • 打赏
  • 举报
回复
或:

select * from 表 order by 第一关键字+0,第二关键字
pengdali 2003-11-27
  • 打赏
  • 举报
回复
select * from 表 order by cast(第一关键字 as int),第二关键字
realgz 2003-11-27
  • 打赏
  • 举报
回复
为什么office 2003的帮助我不知道怎么用?!郁闷
realgz 2003-11-27
  • 打赏
  • 举报
回复
试了一下 没办法变通。union 的时候不能top
加载更多回复(14)

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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