排序问题SQL

韩小婼 2011-09-06 03:53:11
譬如一个表
有两个字段
其中一个字段是编号
但是这个编号是有规律的
如下
091101-1
091101-2
091102
091103
091104
……
091199
101201
101202
101203
101204
……
1012100
我要求按照这个字段,譬如这个字段叫做 ph排序后会像上面一样,前四位是类似年月的什么0912,后面是从01~大于01的数字组合而成,而且后面的数字可能自带-1、-2,我该怎么排序?
...全文
123 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
韩小婼 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 geniuswjt 的回复:]
lz给的数据和结果不明显
直接select * from tb order by ph就能得到你发的结果其实
你要说下规则啊
[/Quote]不行,这样的话
1101 100
会排在1101 11之前
韩小婼 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 oulinhnzz 的回复:]
SQL code


create table tab_a
(
ph varchar(30)
)

delete from tab_a
insert into tab_a
select '091103' union all
select '091101-1' union all
select '091104' union all
select '091102' u……
[/Quote]不行,这样的话
1101 100
会排在1101 11之前
韩小婼 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 geniuswjt 的回复:]
lz给的数据和结果不明显
直接select * from tb order by ph就能得到你发的结果其实
你要说下规则啊
[/Quote]不行,这样的话
1101 100
会排在110 111之前,
obuntu 2011-09-07
  • 打赏
  • 举报
回复
不懂T-SQL,帮顶。
Alessandro_ 2011-09-07
  • 打赏
  • 举报
回复
学习。
hongjian39400 2011-09-07
  • 打赏
  • 举报
回复
select *from tab_a order by left(ph,6),right(ph,len(ph)-charindex('-',ph))
火才松 2011-09-06
  • 打赏
  • 举报
回复
SELECT * FROM DBO.TB ORDER BY LEFT(ph,6)
  • 打赏
  • 举报
回复

补充下查询结果

091101-1
091101-2
091102
091103
091104
  • 打赏
  • 举报
回复


create table tab_a
(
ph varchar(30)
)

delete from tab_a
insert into tab_a
select '091103' union all
select '091101-1' union all
select '091104' union all
select '091102' union all
select '091101-2'

select *from tab_a order by ph
--我自己建立个表存放测试数据 数据的顺序我刻意错乱 插入
--查询只需要 order by ph 就行了

geniuswjt 2011-09-06
  • 打赏
  • 举报
回复
对有-的,没-的,什么都没的,怎么排序
geniuswjt 2011-09-06
  • 打赏
  • 举报
回复
lz给的数据和结果不明显
直接select * from tb order by ph就能得到你发的结果其实
你要说下规则啊
--小F-- 2011-09-06
  • 打赏
  • 举报
回复
要排成什么样子的?
快溜 2011-09-06
  • 打赏
  • 举报
回复
order by left(ph,4),substring(ph,5,2),right(ph,len(ph)-charindex('-',ph))
-晴天 2011-09-06
  • 打赏
  • 举报
回复
order by ph,replace(right(ph,len(ph)-7),'-','')

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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