科技时代新浪首页 > 科技时代 > 滚动新闻 > 正文

SQL入门:条件表达式


http://www.sina.com.cn 2006年10月01日 14:32 ChinaByte

  可在 SQL 语句中使用 CASE 表达式以便于处理表的数据表示。这提供了一种功能强大的条件表达式能力,在概念上与某些程序设计语言中的 CASE 语句类似。

  要从 ORG 表中的 DEPTNAME 列将部门编号更改为有意义的词,输入下列查询:

  

SQL入门:条件表达式

  结果为:

  

SQL入门:条件表达式

  可使用 CASE 表达式来防止出现异常情况,如被零除等。在下列示例中,如果雇员没有奖金或佣金报酬,则语句条件通过避免除法运算来防止出错:

  

SQL入门:条件表达式

  可在单个语句中使用 CASE 表达式,根据一个列中值的子集的总和与该列中所有值的总和的比来产生一个比率。使用 CASE 表达式的语句只需要传送数据一次。在没有 CASE 表达式的情况下,执行同样的计算至少需要传送两次。

  下列示例使用 CASE 表达式计算部门 20 的薪水之和与全部薪水总额的比率:

  

SQL入门:条件表达式

  结果为 0.11。注意:CAST 函数确保结果的精度得到保持。

  可使用 CASE 表达式来计算简单的函数,而不必调用函数本身,调用函数将需要额外开销。例如:

  

SQL入门:条件表达式

  此表达式与 SYSFUN 模式中 SIGN 用户定义函数有相同的结果。

爱问(iAsk.com)



论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有