收藏本站 
广告服务 
网站地图 
>> 本频道近100000余篇各类电脑技术、网络技术、软件技术、网页及平面设计等方面的电脑教程,我们的原则:不是精华拒不收录!
先飞电脑技术网技术文章数据库开发MS-SQL
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |

正确的理解 SQL语句中“CASE”的用法

[ 作者:佚名    转贴自:网络转载    阅读次数:32    更新时间:2007-9-17 11:49:00   录入:刘光勇 ]        
    写SQL语句时,或在PL/SQL中,经常需要在一个SQL语句中,根据不同的条件,有多种处理方法,如下面的例子:出售一种商品时,单价不同,折扣不同,对这种需求的处理,如果分情况处理,将会很麻烦,如果用Case语句,就可以在一条SQL语句中得到想要的结果。

Case的语法:

case when 条件A Then 结果A When 条件B 结果B....... else 结果N end和Decode 不同的是,Decode 只能针对固定的值,而 Case 可以用不是固定值,需是一个条件。

现在有以下的需求,有一个字符串,最后的两位可能是 ’/R’ ,’/T’ 另外,有的后两位没有前面的’/R’ ,’/T’ ,现在针对不同的需要,要将 ’/R’ ,’/T’ 取掉,没 ’/R’ ,’/T’, 就不做处理。

A01JCL-A01JCL/GF117F0001TR/RSQL写法:

select (case 
when instr(code, ’/R’) > 0 then 
substr(code, 1, instr(code, ’/R’) - 1) 
when instr(code, ’/T’) > 0 then 
substr(code, 1, instr(code, ’/T’) - 1) 
else 
’0’ 
end) 
from table_A t ;

注意:使用Case时,要用括号括起来。

文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“正确的理解 SQL语句中“CASE”的用法”版权归文章所有者,转载请注明出处!
 ·上一篇文章:SQL Server identity列的操作方法      ·下一篇文章:SQL改变端口后怎样再进行连接
相关文章
·正确的理解 SQL语句中“CASE”的用法[32]
·正确理解.NET和SQL Server中“空值”[29]
·正确理解Informix的系统结构[81]
·轻松了解怎样正确连接到Beta数据库[43]
·怎样来正确的掌握online的备份[17]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网