软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件开发专栏>>数据库>>正文
oracle中关于null排序的问题
文章出处:转载 作者:shaokun305 发布时间:2005-12-30

问题描述:

在处理一般的数据记录中,对于数字类型的字段,在oracle的排序中,默认把null值做为
大于任何数字的类型,当然对于varchar2类型的字段,默认也是该处理方式,但是客户
要求排序的过程中,需要把null的字段默认排在前边(从小-->大)。一般的
order by xxxx,无法解决。

问题解决:

方案1:

可以使用复杂的使用sql:

select * from
(select a.*,rownum as my_sys_rownum from (
select deptid,nvl(BDZNAME,' '),nvl(VOLLEVEL,'0'),ZBRL,nvl(ZBTS, '0'),nvl(FZR,'0'),nvl(DEPTIDDES,' '),nvl(TEL,' '),nvl(RUNSTATEDES,' '),nvl(ADDRESS,' '),BDZID from V_BDZ where  rownum<2000

and ZBRL is null

) a
union
select b.*,rownum+(select count(*) from (
select deptid,nvl(BDZNAME,' '),nvl(VOLLEVEL,'0'),ZBRL,nvl(ZBTS, '0'),nvl(FZR,'0'),nvl(DEPTIDDES,' '),nvl(TEL,' '),nvl(RUNSTATEDES,' '),nvl(ADDRESS,' '),BDZID from V_BDZ where  rownum<2000

and ZBRL is null

)) as my_sys_rownum from (
select deptid,nvl(BDZNAME,' '),nvl(VOLLEVEL,'0'),ZBRL,nvl(ZBTS, '0'),nvl(FZR,'0'),nvl(DEPTIDDES,' '),nvl(TEL,' '),nvl(RUNSTATEDES,' '),nvl(ADDRESS,' '),BDZID from V_BDZ where  rownum<2000

and ZBRL is not null order by ZBRL
) b
)
order by my_sys_rownum desc

方案2:

可以利用oracle中可以对order by中对比较字段做设置的方式来实现:
  如:  ……order by nvl( aaa,'-1')


站内搜索
相关文章
◎mysql数据库优化
◎把Access数据库移植到SQL
◎如何把Access的数据导入到Mysql
◎数据库设计三大范式应用实例剖析
◎SQL Server 2000 JDBC驱动的完整安装及测试说明
◎论数据库技术的发展史
◎MySQL索引分析和优化
◎检测和解决 SQL Server 2000 SP 4 中的延迟和阻塞 I/O 问题
◎几大数据仓库方案特性比较
◎SQL语句导入导出大全
◎从SQL Server 向Oracle 8迁移的技术实现方案
◎SQL Server连接中三个常见的错误分析
◎数据库性能分析及调整一例
◎手动建立Oracle9i数据库
◎如何连接SQL Server与Oracle数据库
◎利用 DBCA 建立 Oracle9i 数据库
◎Oracle9i 数据库实体结构
◎如何安装Oracle 9i Enterprise Edition for Linux
◎DB2数据库的安装
◎DB2/Sybase/Oracle的比较
热门文章
◎SQL Server 2000 JDBC驱动的完整安装及测试说明
◎ORACLE 常用脚本(3)
◎如何连接SQL Server与Oracle数据库
◎ORACLE 常用脚本(1)
◎管理常用SQL语句
◎SQL语句导入导出大全
◎如何安装Oracle 9i Enterprise Edition for Linux
◎Oracle的入门心得
◎精妙Sql语句
◎手动建立Oracle9i数据库
◎DB2/Sybase/Oracle的比较
◎ORACLE 常用脚本(2)
◎数据库性能分析及调整一例
◎ORACLE 常用脚本(4)
◎数据库设计三大范式应用实例剖析
◎利用 DBCA 建立 Oracle9i 数据库
◎ORACLE性能调优原则
◎SQLServer性能分析参数
◎实例说明sql优化的重要性
◎大中型数据库数据导入中存在的部分问题及对策
◎SQL Server连接中三个常见的错误分析
◎SQL与Oracle、DB2的性能比较
◎几大数据仓库方案特性比较
◎从SQL Server 向Oracle 8迁移的技术实现方案
◎Oracle9i 数据库实体结构
◎SQL Server应用程序中的高级SQL注入
◎论数据库技术的发展史
◎SQL Server 2005——下一代的数据管理和分析软件
◎SQL Server连接中的四个最常见错误
◎数据库设计三大范式应用实例剖析
◎两个SQL Server维护技巧
◎微软工程师讲解 SQL Server 阻塞
◎mysql数据库优化
◎检测和解决 SQL Server 2000 SP 4 中的延迟和阻塞 I/O 问题
◎把Access数据库移植到SQL
◎MySQL数据库函数详解
◎如何把Access的数据导入到Mysql
◎DB2数据库的安装
◎Oracle 操作经验谈
◎MySQL索引分析和优化
◎mysql的备份
◎测试Oracle在不同系统中的IO能力
◎用sp_lock诊断SQL Sever的性能问题
◎MSSQL2005的新功能创建数据库快照
◎oracle9i的安装过程
◎实现ClearQuest数据库(SQL Server2000)迁移

Google提供的广告