Oracle-Decode()函数和CASE语句的比较

Aei季佳琦

Aei季佳琦

2016-02-19 15:40

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享Oracle-Decode()函数和CASE语句的比较,希望可以对大家能有小小的帮助。

本文讲述了Oracle-Decode()函数和CASE语句的比较。 首先,举2个简单的例子,简单对比一下这2者的区别。 1.CASE语句:

SELECT CASE SIGN(5 - 5) WHEN 1 THEN 'Is Positive' WHEN -1 THEN 'Is Negative' ELSE 'Is Zero' END FROM DUAL;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

后台实现:
if (SIGN(5 – 5) = 1) { 'Is Positive'; } else if (SIGN(5 – 5) = 2 ) { 'Is Negative'; }else { ‘Is Zero’ }

2. Decode函数:
SELECT DECODE(SIGN(5 – 5), 1, 'Is Positive', -1, 'Is Negative', ‘Is Zero’) FROM DUAL

后台实现:
switch ( SIGN(5 – 5) ) { case 1 : 'Is Positive'; break; case 2 : 'Is Negative'; break; default : ‘Is Zero’ }

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

在上面的例子中,2者似乎都可以实现。但是,在碰到非凡的问题时Decode()要实现起来就相当复杂了。

例如:

SELECT CASE X-FIELD WHEN X-FIELD 40 THEN ‘X-FIELD 40’ WHEN X-FIELD 50 THEN ‘X-FIELD 50’ WHEN X-FIELD 60 THEN ‘X-FIELD 60’ ELSE ‘UNBEKNOWN’END FROM DUAL

因此,我个人认为,CASE语句在处理类似问题就显得非常灵活。当只是需要匹配少量数值时,用Decode更为简洁。

展开更多 50%)
分享

猜你喜欢

Oracle-Decode()函数和CASE语句的比较

编程语言 网络编程
Oracle-Decode()函数和CASE语句的比较

oracle里面如何写case语句

编程语言 网络编程
oracle里面如何写case语句

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何使用oracle的decode函数进行多值判断

编程语言 网络编程
如何使用oracle的decode函数进行多值判断

vba语句select case End Select

电脑入门
vba语句select case End Select

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQLServer和Oracle的常用函数对比

SQLServer
SQLServer和Oracle的常用函数对比

Java调用Oracle的过程和函数

编程语言 网络编程
Java调用Oracle的过程和函数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Java调用Oracle的过程和函数

Java调用Oracle的过程和函数

用javascript的ShowModalDialog()函数去显示一个aspx页面时缓存

用javascript的ShowModalDialog()函数去显示一个aspx页面时缓存
下拉加载更多内容 ↓