重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
适用情况:oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面,
10余年的永丰网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整永丰建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“永丰网站设计”,“永丰网站推广”以来,每个客户项目都认真落实执行。
在order by 的时候,用Nvl、NVL2 、Decode、case .....when....end;等函数对栏位的null值进行处理。
排序要看用什么字段排序,可以单个字段,也可以多个字段,这些与存在值是否为null无关。
如下列数据
id name class
1 a 1
2 b null
3 c null
现在要按id和class排序,其中id为主要排序字段,class为次要排序字段
可写如下语句
select * from 表名 order by id,class。
这样试验一下
select ename,hiredate,sal,comm from emp where nvl(comm,0) =(select nvl(comm,0) from emp where ename='SCOTT')
说一下
nvl函数就 就是把为null的那个东西赋值为0,这样就可以查到啦
用nvl函数。\x0d\x0a这个函数的格式是select nvl(arg,n) from dual;\x0d\x0a意思就是说,如果arg这个参数是null的话,那么就用n这个数。\x0d\x0a你的问题是这样解决的:\x0d\x0aselect nvl(arg,0) from dual\x0d\x0a如果参数arg是Null的话,那么就用0