动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.oracle里面使用临时表解决表冲突.
.给数据库管理员设定访问限制.
.如何增加表空间的大小?.
.从纵横五个方面精细优化你的Orac.
.ORACLE性能调整.
.oracle重装时问题解决方案.
.oracle 使用杂记1.
.数据库链应用实例:将一台机器的.
.Oracle 9i的isqlplus你用过了吗?.
.如何学习Oracle?.
.启动postfix的时候提示unsupport.
.回滚段表空间数据文件丢失或损坏.
.9i新特性之一连接篇.
.安装管理客户机.
.Oracle软件升级 增加支持RFID功能.
.Oracle数据库较好的十种重新启动.
.一次对Block的 Dump过程.
.复杂查询语句的使用.
.甲骨文扩军印度.
.Oracle数据库的完整性约束规则.

如何使用Oracle中的 COALESCE 函数

发表日期:2008-2-9 |


数据库应用软件很多时候将多重的、相关的实体信息保存在同一个表格中。例如,购买的零件和本地生产的零件都是零件,经理和工人都是员工,尽管多重的实体类型在数据存储上略有不同,但是它们有太多的相同之处,因此通常使用一个表格而不是两个。 处理这样的表格通常意味着对每一行进行条件测试来检查哪个实体类型正在被处理,然后返回每种类型的不同结果集。CASE语句可以用来完成这一工作。 从Oracle 9i版开始,COALESCE函数在很多情况下就成为替代CASE语句的一条捷径,COALESCE的格式如下:
COALESCE (eXPression_1, expression_2, ...,expression_n)
列表中第一个非空的表达式是函数的返回值,假如所有的表达式都是空值,最终将返回一个空值。 使用COALESCE的秘密在于大部分包含空值的表达式最终将返回空值(连接操作符“”是一个值得注重的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此类推。 这样您就可以构建一系列表达式,每个表达式的结果是空值或非空,这就像一个CASE语句,表达式按照顺序进行测试,第一个满足条件的值就确定了结果。 列表A展示了名为PARTS的表格的一部分,该表格存储了购买的零件数据和生产的零件数据,假如是购买的零件,那么part_type列的值为‘P’,假如是本地生产或组装的则是‘B’;此外,对于购买的零件,purchase_cost 列会显示购买成本,而本地生产的零件则是空值;而且,本地生产的零件还有material_qty和material_cost两列的信息,对于购买的零件则是空值。 列表A:
SQL> desc parts Name Null? Type PART_ID NOT NULL NUMBER(6) PART_TYPE NOT NULL CHAR(1) (other columns) PURCHASE_COST NUMBER(8,2) MATERIAL_COST NUMBER(8,2) MATERIAL_QTY NUMBER(6) LAST_UPDATED TIMESTAMP(6) UPDATED_BY VARCHAR2(30)
您可以使用一个CASE语句来测试part_type列的值并返回either purchase_cost和material_qty列与material_cost列的乘积;不过COALESCE可以用一行语句解决这个问题: COALESCE(purchase_cost, material_qty * material_cost) 假如数据行中存储的是一个购买的零件,那么purchase_cost就不是空值,将返回purchase_cost的值;然而,对于本地生产的零件,purchase_cost是空值,COALESCE会忽略它,然后将material_qty和material_cost相乘,并将乘积作为结果返回。
SELECT part_id "Part", part_type "Type", COALESCE(purchase_cost, material_qty * material_cost) "Cost" FROM parts;
您可以对任何数量的表达式重复使用这个模式,COALESCE是一个非常便捷的方法对统一表格中的多重实体求值。 最后,还要说一点CASE语句的优点,就是CASE是自动进行文档记录的,这便于理解和解读正在发生的事情。
上一篇:TeamDBA发布数据库恢复和确认服务 人气:312
下一篇:Oracle、IBM、BEA应用服务器的基准测试和比 人气:333
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵