- 浏览: 1237783 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
1查看表结构
SQL> desc teachers;
Name Type Nullable Default Comments
------------- ----------- -------- ------- --------
TEACHER_ID NUMBER(5)
NAME VARCHAR2(8)
TITLE VARCHAR2(6) Y
HIRE_DATE DATE Y sysdate
BONUS NUMBER(7,2) Y
WAGE NUMBER(7,2) Y
DEPARTMENT_ID NUMBER(3) Y
2查看表的数据
SQL> select * from teachers;
TEACHER_ID NAME TITLE HIRE_DATE BONUS WAGE DEPARTMENT_ID
---------- -------- ------ ----------- --------- --------- -------------
10101 王彤 教授 1990/9/1 1000.00 3000.00 101
10104 孔世杰 副教授 1994/7/6 800.00 2700.00 101
10103 邹人文 讲师 1996/1/21 600.00 2400.00 101
10106 韩冬梅 助教 2002/8/1 500.00 1800.00 101
10210 杨文化 教授 1989/10/3 1000.00 3100.00 102
10206 崔天 助教 2000/9/5 500.00 1900.00 102
10209 孙晴碧 讲师 1998/5/11 600.00 2500.00 102
10207 张珂 讲师 1997/8/16 700.00 2700.00 102
10308 齐沈阳 高工 1989/10/3 1000.00 3100.00 103
10306 车东日 助教 2001/9/5 500.00 1900.00 103
10309 臧海涛 工程师 1999/6/29 600.00 2400.00 103
10307 赵昆 讲师 1996/2/18 800.00 2700.00 103
10128 王晓 2007/9/5 1000.00 101
10328 张笑 2007/9/29 1000.00 103
10228 赵天宇 2007/9/18 1000.00 102
11111 林飞 2007/10/11 1000.00
3计算教师月收入,基本工资+奖金
SQL> select t.name as "姓名", t.bonus+t.wage as "月总收入" from teachers t;
姓名 月总收入
-------- ----------
王彤 4000
孔世杰 3500
邹人文 3000
韩冬梅 2300
杨文化 4100
崔天 2400
孙晴碧 3100
张珂 3400
齐沈阳 4100
车东日 2400
臧海涛 3000
赵昆 3500
王晓
张笑
赵天宇
林飞
16 rows selected
这里可以看到,在奖金为NULL的列上,虽然都为number类型,但这位老师的月收入为空了。显然是不对的。oracle没有默认的实现这个功能。
这个时候需要我们采用nvl函数来给列设置默认值,假如是空的,默认为零
SQL> select t.name as "姓名", nvl(t.bonus,0)+t.wage as "月总收入" from teachers t;
姓名 月总收入
-------- ----------
王彤 4000
孔世杰 3500
邹人文 3000
韩冬梅 2300
杨文化 4100
崔天 2400
孙晴碧 3100
张珂 3400
齐沈阳 4100
车东日 2400
臧海涛 3000
赵昆 3500
王晓 1000
张笑 1000
赵天宇 1000
林飞 1000
16 rows selected
这样就对了。
还可以使用nvl2函数
SQL> select t.name as "姓名" ,nvl2(t.bonus,t.bonus+t.wage,t.wage) as "总收入" from teachers t;
姓名 总收入
-------- ----------
王彤 4000
孔世杰 3500
邹人文 3000
韩冬梅 2300
杨文化 4100
崔天 2400
孙晴碧 3100
张珂 3400
齐沈阳 4100
车东日 2400
臧海涛 3000
赵昆 3500
王晓 1000
张笑 1000
赵天宇 1000
林飞 1000
16 rows selected
还可以利用coalesce函数(返回表达式中第一个非空值,如果都为空,则返回为空)来计算教师的月收入:
SQL> select t.name as "姓名" ,nvl2(t.bonus,t.bonus+t.wage,t.wage) as "总收入" from teachers t;
姓名 总收入
-------- ----------
王彤 4000
孔世杰 3500
邹人文 3000
韩冬梅 2300
杨文化 4100
崔天 2400
孙晴碧 3100
张珂 3400
齐沈阳 4100
车东日 2400
臧海涛 3000
赵昆 3500
王晓 1000
张笑 1000
赵天宇 1000
林飞 1000
16 rows selected
发表评论
-
存储过程的授权和删除
2012-04-12 17:05 2170当建立一个存储过程或函数后,默认情况下只有创建者和DBA才 ... -
ORACLE 中的SQLPLUS 的SHOW ERRORS
2012-04-05 15:54 2589在sqlplus 中 sql> show ... -
sqlplus的spool命令
2012-04-05 15:06 1474有时候我们想把SQLPLUS的会话输出保存到文件中 ... -
sqlplus 的@符号
2012-04-05 14:16 1826通常我们把ORACLE开发的PLSQL保存成文件,比如. ... -
oracle 的exp和imp命令
2012-03-31 15:23 2031我们通常要对ORACLE的数据进行导入,导出,在没有expdb ... -
oracle的sqlnet.ora,tnsnames.ora,listener.ora的理解
2012-03-31 14:45 20291 oracle中3个比较常用的配置文件 tnsna ... -
oracle 统计一个表格有多少列
2011-12-19 16:48 3122ResultSetMetaData rsMetaData ... -
TNS-12535: TNS: 操作超时
2011-09-02 12:37 2468新安装的linux虚拟机,上面装了ORACLE10G,装好后在 ... -
oracle killsession
2011-08-31 10:09 1193一条语句结束oracle的多个会话 select 'a ... -
oracle建立database link
2011-04-24 08:33 1048建立oracle database link 的命令 实 ... -
plsql编程学习之游标一
2011-04-12 20:39 2889oralce plsql编程的游标 游标分类 1显示游 ... -
plsql的异常处理部分学习整理
2011-04-10 13:01 5963ORACLE的PLSQL编程,异常 ... -
PLSQL开发基础--结构控制
2011-04-07 19:24 1478--匿名块 set serveroutput on; be ... -
oracle10g 的sqlplus的新特性
2011-03-21 09:58 1200在使用oracle9i的sqlplus时候我们不知道当前登录的 ... -
oracle10g下的OEM的异常
2011-03-08 14:45 1441重新安装了oracle10g在笔记本上,当网络环境发生变化时容 ... -
oracle glogin.sql和login.sql
2011-03-01 16:52 3297oracle数据库安装好之后,默认在oracle_home下面 ... -
aix下面oracle用户的环境变量
2011-03-01 15:47 10205在AIX上安装oracle11g,需要oracle账号,修改. ... -
windows7下的oracle10.2.0.1
2011-01-12 14:58 1436近日oracle网站推 ... -
oracle substr,instr用法
2011-01-07 11:36 2710Oracle中INSTR的用法: INSTR方法的格式为 ... -
oracle中用户的权限
2011-01-07 11:18 11221.查看所有用户: select * from dba_ ...
相关推荐
oracle基础知识.PDF oracle基础知识.PDF oracle基础知识.PDF oracle基础知识.PDF
oracle 基础知识整理
oracle基础入门,有助于数据库初学者了解oracle!有助于学习~其实挺垃圾的,专骗分~
在公司实际的项目开发中,我遇到这样一个需求,需要将oracle数据库某张表的某两列相加形成新的一列。
这是我学习过程中整理的oracle数据库基础知识,里面包含了DML、DDL等相关语句。还解释了什么情况下该用什么样的SQL。包含了很多基础知识。欢迎大家收藏。
oracle基础知识考试题_答案.zip
oracle ORACLE 基础资料 基础知识 培训资料oracle ORACLE 基础资料 基础知识 培训资料oracle ORACLE 基础资料 基础知识 培训资料oracle ORACLE 基础资料 基础知识 培训资料
适用于新手大体了解oracle的知识体系跟基础语法学习
Oracle 9i, 10g, 11g编程艺术:深入数据库体系结构(第二版)源码 Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions, Second Edition
好不容易才弄到的 两部才2分 希望喜欢dba优化技术的朋友们喜欢~~
ORACLE基础知识及故障定位 学校oracle基础知识,包含所有orcale的数据库知识,以及常见问题解决思路,解决方案,问题怎么定位。
Oracle数据库基础知识讲义
Oracle基础知识,各种都有,只有你想不到的。。。。。。。
全书分为两个部分,共14章,第1部分是集群理论篇,这部分从集群基础知识入手,通过分析集群环境和单机环境的不同,介绍了集群环境的各个组件及其作用,以及集群环境的一些专有技术,包括Oracle Clusterware、Oracle ...
oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识oracle基础知识...
Oracle基础知识学习,内部资料 Oracle基础知识学习,内部资料 Oracle基础知识学习,内部资料
Oracle.Core:Essential.Internals.for.DBAs.and.Developers
里面是我个人学习中总结出来的经验,各种基础知识在里面都能找到,适合初学者,或者忘记基础了的朋友使用。我平常有什么不记得就在里面找的。
Oracle DBA基础知识, DBA必备宝典!
Oracle语法,有关于oracle的基础知识。