2010年01月29日   码农之路   10,486 次浏览
ORACLE CASE WHEN其实就相当于我们程序当中的IF语句,他的语法结构是:
CASE WHEN "条件表达式" THEN "语句1" ELSE "语句2" END |
意思相信大家都明白,当条件满足时持行语句1,否则持行语句2
其实他的用处很多,如对SELECT中字段进行处理:
有时候我们在处理数据库的数据时,往往只是从数据库中拿出数据然后再对数据进行简单的操作,比如改变字段的显现方式(将0/1形式改成y/n的形式),一般我们的处理方法是将从数据库得到的数据依次读出后依次处理,这样就不断会增长代码还会增加运行时间,那么我们有没有更简单的方法了,答案是肯定的,接下来我教大家Oracle中Case When的用法:
例:我要将某个字段中y/n形式改成0/1的形式,SQL语句如下:
SELECT ORGID, ORGNAME, CASE WHEN ISLEAF=’y’ THEN 1 ELSE 0 END ISLEAF
FROM OM_ORGANIZATION
这样我们就将字段ISLEAF中的y/n形式变成了0/1形式,是不是很有用。
其实我也还可以有很多其他用处,如果分段算工资(GZ):
CASE WHEN GZ<2000 THEN 2000 WHEN GZ<3000 THEN 3000 ELSE 4000 END GZ
>>> Hello World <<<
这篇内容是否帮助到你了呢?
如果你有任何疑问或有建议留给其他朋友,都可以给我留言。