小弟实在搞不定了……紧急求助SQL语言达人……流泪

舟_雨 2010-09-14 10:04:50
有一个表TB_STDITAL
里面有一列SITEM, varchar类型。
存的东西为条款,数据为:
1.1
1.1.2
1.1.3
1.2
1.2.1
1.3
现在有些条款前带字母,
C.1.2.2
需求:字母C和点. 不参与排序,要求C.1.2.2排在1.3前,而且要排在1.2.1后。而且这个C.两个字符还必须显示在条款上。



急啊,流泪求助!!!
...全文
132 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2010-09-14
  • 打赏
  • 举报
回复
倒,你改一下不就可以了.
order by case when substr(SITEM,1,1) ='C' then substr(SITEM,3)else SITEM end
舟_雨 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 minitoy 的回复:]
order by case when substr(SITEM,1,1) between '0' and '9' then SITEM else substr(SITEM,3) end
[/Quote]

恩,这样是直接把前面两个字符截掉再排序。

我现在不能简单地截掉两个字符呀,因为是要判断这个字母是不是C,如果是C. 就要截掉,如果是别的,就不管的。所以这个需求很疼……这该怎么写呢?
Dream_1986 2010-09-14
  • 打赏
  • 举报
回复
看样子我理解错了
Dream_1986 2010-09-14
  • 打赏
  • 举报
回复

create table tb_stdital
(sitem varchar(10));

insert into tb_stdital values('C.1.1');
insert into tb_stdital values('C.1.2');
insert into tb_stdital values('C.1.3');
insert into tb_stdital values('C.1.2');
insert into tb_stdital values('C.1.2.1');
insert into tb_stdital values('C.1.2.2');
insert into tb_stdital values('C.1.2.1');
insert into tb_stdital values('C.1.3');
insert into tb_stdital values('C.1.3.1');

SELECT * FROM tb_stdital ORDER BY sitem ASC;
--查询结果
SITEM
C.1.1
C.1.2
C.1.2
C.1.2.1
C.1.2.1
C.1.2.2
C.1.3
C.1.3
C.1.3.1
ngx20080110 2010-09-14
  • 打赏
  • 举报
回复
10g或以上版本可以用正則表達式

with tmp as
(
select '1.1' chp from dual union all
select '1.1.2' chp from dual union all
select '1.1.3' chp from dual union all
select '1.2' chp from dual union all
select '1.2.1' chp from dual union all
select '1.3' chp from dual union all
select 'C.1.2.2' chp from dual
)
select chp,regexp_substr(chp, '([0-9]+\.?)+')
from tmp
order by regexp_substr(chp, '([0-9]+\.?)+');

CHP REGEXP_SUBSTR(CHP,'([0-9]+\.?)+')
---------- ---------------------------------
1.1 1.1
1.1.2 1.1.2
1.1.3 1.1.3
1.2 1.2
1.2.1 1.2.1
C.1.2.2 1.2.2
1.3 1.3
minitoy 2010-09-14
  • 打赏
  • 举报
回复
order by case when substr(SITEM,1,1) between '0' and '9' then SITEM else substr(SITEM,3) end
minitoy 2010-09-14
  • 打赏
  • 举报
回复
这样简单些
case when substr(SITEM,1,1) between '0' and '9' then SITEM else substr(SITEM,3) end
舟_雨 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 minitoy 的回复:]
只是前面带一个字母和.号么?
[/Quote]

是的,前面只带个字母和一个点
minitoy 2010-09-14
  • 打赏
  • 举报
回复
order by decode( substr(translate(SITEM,'1234567890.'||SITEM,'1234567890.'),1,1),'.',substr(translate(SITEM,'1234567890.'||SITEM,'1234567890.'),2),SITEM)
Dream_1986 2010-09-14
  • 打赏
  • 举报
回复
占个位,试试
minitoy 2010-09-14
  • 打赏
  • 举报
回复
只是前面带一个字母和.号么?
gelyon 2010-09-14
  • 打赏
  • 举报
回复
这个最直接:
order by case when substr(SITEM,1,1) ='C' then substr(SITEM,3)else SITEM end
cjh200102 2010-09-14
  • 打赏
  • 举报
回复
路过。
目 录 第一章 系统概述……………………………………………………1 1.1系统应用背景………………………………………………1 1.2 系统主要功能………………………………………………1 1.3 系统的特点…………………………………………………2 1.4 系统所采用的技术…………………………………………3 第二章 需求分析……………………………………………………4 2.1系统的功能性需求…………………………………………4 2.2系统的非功能性需求………………………………………6 2.2.1用户界面需求………………………………………6 2.2.2软件环境需求………………………………………6 2.2.3软件质量需求………………………………………6 第三章 理论基础……………………………………………………7 3.1Visual Basic 6.0简介……………………………………7 3.2 数据库概述…………………………………………………8 3.2.1数据库的基础知识…………………………………8 3.2.2 Access数据库简介…………………………………9 3.2.3 Access数据库的优点………………………………9 3.3 SQL语言介绍………………………………………………9 3.3.1 SQL基础……………………………………………9 3.3.2 SQL语句……………………………………………10 第四章 系统总体设计………………………………………………12 4.1总体设计…………………………………………………12 4.1.1 Client/Server结构设计…………………………12 4.1.2系统的网络结构……………………………………12 4.1.3系统的总体执行过程………………………………13 4.1.4网络通讯协议的格式………………………………14 4.1.5系统功能模块划分…………………………………14 4.2数据库设计………………………………………………15 4.2.1数据库概念结构设计………………………………15 4.2.2数据库逻辑结构设计………………………………18 4.2.3数据库中各表之间的关系…………………………20 第五章 应用软件的设计与实现……………………………………21 5.1网络通讯协议的设计……………………………………21 5.1.1客户端协议的设计…………………………………21 5.1.2服务器端协议的设计………………………………24 5.2服务器端公共模块设计…………………………………24 5.3服务器端的设计与实现…………………………………25 5.4客户端公共模块设计……………………………………28 5.5客户端的设计与实现……………………………………28 5.5.1网络连接模块的设计………………………………30 5.5.2主界面设计…………………………………………30 5.5.3图书借阅管理模块的设计…………………………32 5.5.4图书信息管理模块的设计…………………………34 5.5.5读者信息管理模块的设计…………………………36 5.5.6管理员管理模块的设计……………………………38 5.5.7数据统计模块的设计………………………………38 第六章 系统使用说明书…………………………………………40 6.1系统运行环境………………………………………………40 6.2系统操作说明………………………………………………40 第七章 总结…………………………………………………………41 附录A系统主要代码…………………………………………………42 附录B参考文献………………………………………………………52 致谢…………………………………………………………………53 第一章
目 录 摘要………………………………………………………………………………………3 1 引言……………………………………………………………………………………4 1.1 开发背景与现状………………………………………………………………4 1.2 开发设计的意义………………………………………………………………4 1.3 开发工具………………………………………………………………………4 1.3.1 Visual studio.NET 2008简介…………………………………………………4 1.3.2 SQL Server 2005简介………………………………………………………5 2 系统分析 ……………………………………………………………………………6 2.1 可行性分析…………………………………………………………………… 6 2.2 系统需求分析………………………………………………………………… 6 2.3 系统数据流图………………………………………………………………… 8 3 总体设计 ……………………………………………………………………………8 3.1 系统设计目标………………………………………………………………… 8 3.2 系统总体功能 ………………………………………………………………… 9 3.3 系统结构图…………………………………………………………………… 10 4 详细设计…………………………………………………………………………… 11 4.1 数据库设计…………………………………………………………………… 11 4.1.1 数据库的引入. .………………………………………………………………11 4.1.2 数据库逻辑结构设计E-R图…………………………………………………12 4.1.3数据库逻辑结构………………………………………………………………13 4.2 模块设计…………………………………………………………………………14 4.2.1 客户模块设计………………………………………………………………14 5 编码、实现与测试………………………………………………………………… 18 5.1 数据库连接…………………………………………………………………… 18 5.2 系统实现……………………………………………………………………… 18 5.3 系统测试……………………………………………………………………… 18 6 开发总结……………………………………………………………………………19 7 致谢…………………………………………………………………………………20 8 参考文献……………………………………………………………………………20
目 录 前 言 第一章 图书馆管理系统的可行性分析……………………………………2 §1.1系统要求………………………………………………………………2 §1.2系统技术可行性分析…………………………………………………2 §1.3系统经济可行性分析…………………………………………………2 第二章 图书馆管理系统的需求分析 ………………………………………3 §2.1 应用需求分析…………………………………………………………3 第三章 应用系统开发工具…………………………………………………3 §3.1 Delphi7.0 基本组件的体系结构……………………………………3 §3.2 数据库组件介绍 ………………………………………………………4 §3.3 SQL语言在Delphi中的应用 ………………………………………4 §3.4 MS SQL Server简述 …………………………………………………6 第四章 图书馆管理系统设计分析…………………………………………7 §4.1 系统功能描述 4.1.1 系统功能模块划分……………………………………………………7 §4.2 系统数据库设计 ………………………………………………………7 第五章 图书馆管理系统应用程序设计 ……………………………………10 §5.1 系统窗体模块组成 ……………………………………………………10 §5.2 数据模块窗体的设置 …………………………………………………10 §5.3启动画面的实现…………………………………………………………10 §5.4读者服务模块的实现……………………………………………………11 5.4.1读者登录窗体的实现……………………………………………………11 5.4.2读者查询借阅情况及续借功能的实现…………………………………11 5.4.3读者密码修改功能的实现………………………………………………11 5.4.4读者个人资料修改功能的实现…………………………………………12 5.4.5读者图书查询及预约功能的实现………………………………………13 §5.5图书馆管理员模块的实现………………………………………………14 5.5.1图书馆管理员登陆窗体的实现…………………………………………14 5.5.2图书馆管理员图书增加功能的实现……………………………………14 5.5.3图书馆管理员修改图书类别功能的实现………………………………15 5.5.4图书馆管理员对读者增加功能的实现…………………………………16 5.5.5图书馆管理员对读者信息修改功能的实现……………………………16 5.5.6读者借阅图书功能的实现………………………………………………17 5.5.7读者归还图书功能的实现………………………………………………18 5.5.8读者逾期罚款功能的实现………………………………………………19 5.5.9图书管理员密码修改功能的实现………………………………………19 第六章 学习心得及结束语…………………………………………………… 19

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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