




已阅读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年安庆职业技术学院高层次人才引进7人模拟试卷及答案详解(历年真题)
- 班组安全教育培训方案课件
- 花青素与记忆增强-洞察与解读
- 2025年“才聚齐鲁成就未来”山东泰安市泰山财产保险股份有限公司河南分公司社会招聘4人考前自测高频考点模拟试题及答案详解1套
- 生物饵料高效利用-洞察与解读
- 2025年度洛阳市考古研究院引进急需短缺专业人才4名模拟试卷附答案详解
- 2025广西柳州市柳江区投资集团有限公司下属子公司柳州市堡鑫建筑工程有限公司招聘工作人员模拟试卷(含答案详解)
- 2025项目管理考试题及答案
- 医院手术室质控体系构建与管理
- 喷涂基础知识培训课件
- 2025年驻外内聘考试题库
- 中铁四局工作汇报与战略规划
- 矿山测量基础知识课件
- 【《上市公司财务造假分析的国内外文献综述》5100字】
- 企业融资培训课件
- 2025年抗菌药物合理使用培训
- 杜仲种植深加工项目可行性研究报告-备案立项
- 2025年乡村文化旅游发展报告:文旅融合下的乡村旅游生态旅游规划与实施研究
评论
0/150
提交评论