学习ORALCE的时候,在做scott示例数据库练习的时候,计算工资和奖金合计查询的时候出现结果变成空了。
语句如下
SQL> select emp.ename , sal*13+emp.comm*12 AS "工资" from emp; ENAME 工资 ---------- ---------- SMITH ALLEN 24400 WARD 22250 JONES MARTIN 33050 BLAKE CLARK SCOTT KING TURNER 19500 ADAMS JAMES FORD MILLER 14 rows selected
查了一下原因是:ORACLE中如果算数表达中有一个是NULL,整个结果就变成NULL了。解决办法用ORACLE的自带函数nvl()解决。
代码如下
SQL> select emp.ename , sal*13+ nvl( emp.comm*12,0) AS "工资" from emp; ENAME 工资 ---------- ---------- SMITH 10400 ALLEN 24400 WARD 22250 JONES 38675 MARTIN 33050 BLAKE 37050 CLARK 31850 SCOTT 39000 KING 65000 TURNER 19500 ADAMS 14300 JAMES 12350 FORD 39000 MILLER 16900
相关推荐
Oracle正则表达式详解,用法+实例。
ORACLE 正则表达式的使用(REGEXP_LIKE REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE)
Oracle正则表达式函数全面解析
oracle正则表达式总结,包括语法与实例
Oracle正则表达式参考手册 ,《Oracle Regular Expressions Pocket Reference 》 Oracle Regular Expressions Pocket Reference is part tutorial and part quick-reference.
Oracle 正则表达式参考手册 regexp_instr regexp_substr regexp_repalce regexp_like
oracle 数据库中 正则表达式 详细讲解 ,保证看了之后对正则表达式有一个深入的理解。对于不会用正则表达式的朋友非常有帮助。
chm格式的Oracle正则表达式参考手册,英文版的,不过英文不是很难! ......解压密码 www.infoxa.com
Oracle正则表达式与Oracle正则表达式函数
oracle 正则表达式,主要是正则表达式的主要函数和一些匹配字符的说明
Oracle正则表达式
oracle时间差表达式,计算两时间相差的天、小时、分钟、秒及毫秒数
各种编程语言中都有正则表达式,来处理一些特殊的操作!数据库oracle中也有自己的正则表达式
Oracle中的正则表达式 Oracle中的正则表达式 Oracle中的正则表达式
ORACLE 10G 中经常会使用到的正则表达式的说明及例子
正则表达式应用广泛,在数据库中也有很大的应用空间,该篇文档讲述正则表达式在数据库中的应用。
主要介绍了mybatis使用char类型字段查询oracle数据库时结果返回null问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
Oracle 正则表达式实例详解 FORM开发中的按行拆分需求:拆分后的行要有规律,并按前后层次排序 需求分析如下: 现有行: 2 , 2.1 , 2.2 , 2.3 3 2.1.1, 2.1.2 , 2.1.3 , 2.2.1 , 2.1.1.1, ...