




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软 件 学 院关于oracle的空值问题及解决方法专业班级: 学 号: 姓 名: 关于oracle空值的解决方法一、引言在做“查询年工资(sal+comm)*125000”的练习题时,发现查询结果并不全面,因为有的员工的comm为空,导致查询结果并不全面(comm为空的行并未显示)。经过上网查找资料及亲自验证,确认使用函数nvl(comm,0)可解决该问题。二、空值的生成及特点1. 空值的生成 如果一列没有非空(NOT NULL)完整性限制,那么其缺省的值为空值,即如果插入一行时未指定该列的值,则其值为空值。 使用SQL语句INSERT插入行,凡未涉及到的列,其值为空值;涉及到的列,如果其值确实为空值,插入时可以用NULL来表示(对于字符型的列,也可以用来表示)。2. 空值的特点空值没有任何值与 0、空字符串或空格不同。在where条件中, Oracle认为结果为NULL的条件为FALSE带有这样条件的select语句不返回行并且不返回错误信息。但NULL和FALSE是不同的。空值在排序时比其他数据都大并且空值不能索引。三、遇到的问题输入命令SQL select * from emp;的结果如图1-1所示。 图1-1 查询员工表结果输入SQL select ename,sal,comm from emp where(sal+comm)*125000;查询员工年工资的结果如图1-2所示。图1-2 查询员工年工资结果输入SQL select ename,sal,comm from emp where sal2000; 查询月工资大于2000的员工,可看出该类员工的年工资均大于5000,但在上一个查询语句的结果中并没有显示他们,结果如图1-3所示。图1-3 查询员工工资大于2000的结果四、 解决方案及示例运用函数nvl(comm,0)可解决空值的问题,nvl(comm,0)表示当comm为空值的时候,将其赋值为0,这样再次查询员工年工资的时候,得到的结果就全面了。下面用命令行的方式一步步显示解决方法:SQL select * from emp; /查看emp的表结构 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO - - - - - - - - 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 已选择14行。SQL conn sys/Oracle11 as sysdba;已连接。SQL grant global query rewrite to scott; /授权授权成功。SQL grant create any index to scott;授权成功。SQL conn scott/admin;已连接。SQL create index sal_comm on emp (sal+comm)*12,sal,comm) tablespace users; /创建基于函数的索引索引已创建。SQL select ename,sal,comm f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度海外留学贷款及学费支付一体化服务协议
- 2025年中小企业创业小额贷款合同范本-扶持政策专用
- 2025年度专用管道天然气及油品运输专项服务合同
- 2025年绿色生态别墅景观设计与施工总承包合同
- 2025年绿色节能建材采购合同-节能减排环保升级专项协议
- 2025年生态地产营销中心室内外装饰设计施工与运营维护合同
- 2025年智能物流配送车辆购置与技术支持服务合同范本
- 2025年度高空作业专用脚手架租赁与仓储管理综合服务合同
- 2025生物医疗企业医用耗材质量监管与供应链优化升级合同
- 2025年度国际足球赛事场地租赁与赛事运营管理服务合同
- 2025年公务员考试时政专项测验100题及答案
- TSG ZF003-2011《爆破片装置安全技术监察规程》
- 赋能未来:智能轨道交通
- 2023-2024学年北师大版七年级上学期期末考试数学试卷(含答案)
- GB/T 17988-2024食具消毒柜性能要求和试验方法
- 中药学总结(表格)
- 普通地质学完整版课件
- TD/T 1031.3-2011 土地复垦方案编制规程 第3部分:井工煤矿(正式版)
- 电梯维保服务售后服务方案
- 国际体育赛事转播协议
- 当代青年价值观与思想道德建设
评论
0/150
提交评论