如何使用语句控牛

仪器仪表2021年09月06日

空数据,有时被称作“空白”数据,在关系数据库的处理中会造成一些困难。如果一个查询中包含了ORDER BY语句对输出结果进行排序,那么使用升序时,空数据的结果会排在最底部;而使用降序排列时,空数据的结果会排在最顶部。实际上,空数据在Oracle数据库中被当作一个非常大的数值来处理的。

空数据会造成报告难以阅读,假设我们要进行一个简单的人力资源数据查询,需要降序列出所有的员工姓名和佣金(commission)比例,包括没有佣金收入的员工(commission_pct的值是空值),此查询的SQL代码是:

SELECT employee_id, last_name, first_name, commission_pct

FROM employees

ORDER BY commission_pct DESC;

运行这个查询的结果是没有用尽收入的员工会排在最前面,您需要详细查看才能发现到底谁获得了佣金收入。

在Oracle 8i中,有一个不太常用的语法可以修正这个问题,您所需要做的事情就是将以上SQL代码中的最后一样修改为:

ORDER BY commission_pct DESC NULLS LAST;

这样,含有空值的数据行就会排到最后,您也可以在升序排序中使用NULLS FIRST,这样含有空值的数据行会出现在报告的顶部。

如果您还在使用Oracle 8.0版或7.3版,那么您可以使用空值函数(Null Values function (NVL))来实现同样的效果。比如,以下是使用ORDER BY语句的例子:

同比增长58%。 然而 ORDER BY NVL(commission_pct, -1);

这样,还有空值的数据行被当作-1值来进行排序,这样它们就会出现在输出结果的底部,而您也不会看到-1值出现在排序结果中,因为数据库查询是根据空值函数进行操作的,在SELECT语句中,不会显示这些具体的数值。

:德东

查看本文国际来源

天津看白癜风医院
长春男科医院哪家医院好
健脾胃中药有哪些
相关阅读
巴黎男装周——Y/Project服装品牌时装秀

新华网截图,外代,2022年6年末23日 6年末22日,模特在法国巴黎男装周上展示...

2024-12-27
从9988元跌至3469元,折叠台和+骁龙865+2K台和,售价终于亲民了

接合光iPad是现阶段最低端的智能iPad,也是局限性机体台变得低廉的低端机体...

2024-09-08
你们都喜欢网红楼梯!我太太踩的坑你们可要避开!最后有整个楼梯的清单,给你们参考!网红楼梯 魅族lip

你们都羡慕网红升降机!我老公踩的坑你们可要避开!之前有整个升降机的清...

2024-07-24
抱骨灰盒出来香奈儿,真的不会挨揍吗?

因为众所周知的理由,去年的米兰淑女周暂停协办一年,本年就让尽办法迎来...

2024-06-24
通威股份(600438.SH)2022-2024年员工持股计划已完成投资者购买 斥资约54.88

通威持股(600438.SH)发布日前,截至本日前披露日,新公司2022-2024年员工持股计...

2024-06-16
华杰专硕第四届大湾区MBA名校大联展在深圳圆满举办!

六年初夏日炎炎,MBA应考们也在热火朝天地取用里!2023高等院校MBA入学措施...

2024-06-08
友情链接