shaokun305的专栏

做J2EE一流架构师 E-Mail:shaokun305@gmail.com

用户操作
[即时聊天] [发私信] [加为好友]
shaokun305
shaokun305的公告
留言板 New
这里是我一个温馨的港湾,记录下我的生活成长和技术成长的经历,随着岁月的流逝,这里将是我的一个最美丽的回忆.
最近评论
wangbin3961:果然有效!
jinxinzhang:应该加catalina.sh里面吧

你可以在页面打印出内存看看,效果
miracle9i:非常详细 谢谢
wadefelix:当被记者问及是不是现在房地产价格太贵,已经让老百姓买不起时,汪光焘解释说,如果现在房子没有销售了,“你这个结论是可以的”,但现在还有人买,所以这个结论“不好说”。(郭少峰)
///
这样的话都敢说,这就是在为房地产商撑腰嘛,恳请总理把他撤了。
guojingDua:炒股票。买基金这篇文章怎么打不开呀。。。
文章分类
收藏
相册
稿笑图库
美女
java相关站点
CSDN
java世界
java研究组织
java解道
与java共舞
中国java
深入struts1.1
朋友的友情连接
http://blog.csdn.net/asklxf/
lxgljj
同事老朱的博客
戈壁草的博客
老康得网站
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 oracle中关于null排序的问题收藏

新一篇: 新年感悟 | 旧一篇: 一朝春尽红颜老,花落人亡两不知.

oracle中关于null排序的问题

问题描述:
在处理一般的数据记录中,对于数字类型的字段,在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')

发表于 @ 2005年12月20日 10:26:00|评论(loading...)|编辑

新一篇: 新年感悟 | 旧一篇: 一朝春尽红颜老,花落人亡两不知.

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © shaokun305