QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4332|回复: 2
打印 上一主题 下一主题

oracle中关于null排序的问题 选择自 shaokun305 的 Blog

[复制链接]
字体大小: 正常 放大
kampoo        

85

主题

2

听众

400

积分

升级  33.33%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-12-29 17:44 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>oracle中关于null排序的问题</P>
, m( K/ T- U/ I/ f<>问题描述:<BR>在处理一般的数据记录中,对于数字类型的字段,在oracle的排序中,默认把null值做为<BR>大于任何数字的类型,当然对于varchar2类型的字段,默认也是该处理方式,但是客户<BR>要求排序的过程中,需要把null的字段默认排在前边(从小--&gt;大)。一般的<BR>order by xxxx,无法解决。</P>. x5 U" c& x  M9 v- A2 G
<>问题解决:<BR>方案1:<BR>可以使用复杂的使用sql:</P>! x% p& s3 s2 h% R. N7 F8 a
<>select * from <BR>(select a.*,rownum as my_sys_rownum from (<BR>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&lt;2000 </P>  e9 Q- c+ z4 A; `
<>and ZBRL is null</P>1 _2 I+ K) s9 r) t% K$ r' \
<>) a<BR>union<BR>select b.*,rownum+(select count(*) from (<BR>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&lt;2000 </P>
! t" M$ |$ H( X/ H7 M" ~! v<>and ZBRL is null</P># e) }+ l8 c  M) W3 q
<>)) as my_sys_rownum from (<BR>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&lt;2000 </P>
& R/ S' p9 j, }/ F/ x<>and ZBRL is not null order by ZBRL <BR>) b<BR>)<BR>order by my_sys_rownum desc</P>
- t4 `5 H" C& S5 W<>方案2:<BR>可以利用oracle中可以对order by中对比较字段做设置的方式来实现:<BR>  如:  ……order by nvl( aaa,'-1')</P><BR>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

0

主题

3

听众

65

积分

升级  63.16%

该用户从未签到

新人进步奖

回复

使用道具 举报

0

主题

3

听众

21

积分

升级  16.84%

该用户从未签到

新人进步奖

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-9-17 21:52 , Processed in 0.515123 second(s), 63 queries .

回顶部