Oracle Decode()函数和CASE语句的比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle Decode()函数和CASE语句的比较相关的知识,希望对你有一定的参考价值。
参考技术AOracle Decode()函数和CASE语句都是我们经常用到的 那么它们的区别在哪里呢?下面就为您详细介绍
Oracle Decode()函数和CASE语句的区别 供您参考
首先 举 个简单的例子 简单对比一下这 者的区别
CASE语句
以下是代码片段
SELECT CASE SIGN( ) WHEN THEN Is Positive WHEN THEN Is Negative ELSE Is Zero END FROM DUAL;
后台实现
以下是代码片段
if (SIGN( – ) = ) Is Positive ; else if (SIGN( – ) = ) Is Negative ; else ‘Is Zero’Decode函数
以下是代码片段
SELECT DECODE(SIGN( – ) Is Positive Is Negative ‘Is Zero’) FROMDUAL后台实现
以下是代码片段
switch ( SIGN( – ) ) case : Is Positive ; break; case : Is Negative ; break; default : ‘Is Zero’在上面的例子中 者似乎都可以实现 但是 在碰到非凡的问题时Decode()要实现起来就相当复杂了
例如
以下是代码片段
SELECT CASE X FIELD WHEN X FIELD < THEN ‘X FIELD < ’ WHEN X FIELD < THEN ‘X FIELD < ’ WHEN X FIELD < THEN ‘X FIELD < ’ ELSE ‘UNBEKNOWN’END FROM DUAL lishixinzhi/Article/program/Oracle/201311/19030
以上是关于Oracle Decode()函数和CASE语句的比较的主要内容,如果未能解决你的问题,请参考以下文章
Oracle特有函数 case when decode exists 分页rownum