Oracle 函数用法之decode解剖

数据库 Oracle
我们今天主要介绍的是Oracle 函数用法之decode,我们主要是以相关实例的方式来引出其实际操作,以下就是正文的主要内容描述。

Oracle 函数用法之decode,DECODE函数将该数值与一系列的序偶相比较,以决定***的返回结果 。序偶序偶,就是成对出现;我们将这个Oracle函数与switch比较,我们发现他们基本相似,唯一不同的是switch将要比较的值放在case后面都加上了break中。

以下一个例子:(我直接从网上找的)

 

  1. SELECT id,  
  2. DECODE(flag,’Y’,'Yes’,'N’,’No’,NULL,’None’,'Yes’)  
  3. FROM t_test;  

 

当t_test的flag字段为Y时返回Yes,为N时返回No,为NULL时返回None,默认返回Yes。

看看我遇到的问题:

 

  1. SELECT a.id,  
  2. a.user_name,  
  3. a.oper_time time2,  
  4. a.oper_type,  
  5. a.description,  
  6. a.oper_flag,  
  7. decode(a.oper_flag, '1', '成功', '失败') oper_flag,  
  8. a.ip,  
  9. b.true_name  
  10. FROM SEC_LOG_OPERATION a  
  11. left join sec_user b on a.user_name = b.user_name  
  12. where 11 = 1  
  13. order by oper_time desc  

 

原来这红线部分是: decode(a.oper_flag, 1, '成功', '失败')

我在查询的时候会报错,原因是oper_flag这个字段数据中有非数字类型,也就是这个字段不仅有1、0,还有“失败”,这样数据!=字符。所以我们把1当字符处理就可以了。以上的相关内容就是对Oracle 函数用法之decode的介绍,望你能有所收获。

【编辑推荐】

  1. 调用Oracle procedure在pl/sql中的操作
  2. Oracle树的存储过程的实际操作4步骤
  3. 对Oracle数据字典的文档描述
  4. Oracle数据库设计规范化的前两个要求
  5. 配置Oracle RAC中应注意的问题

 

责任编辑:佚名 来源: 博客园
相关推荐

2010-04-27 12:51:49

Oracle 函数de

2010-05-10 18:22:28

Oracle deco

2010-04-27 14:44:31

Oracle存储过程

2011-09-01 10:09:31

OracleDECODE常用窗口函数

2010-10-25 17:00:40

Oracle deco

2010-11-04 11:45:10

Oracle DECO

2010-04-01 09:56:44

Oracle DECO

2010-11-18 15:46:41

Oracle Deco

2010-04-26 16:51:11

Oracle Deco

2010-04-26 10:24:12

Oracle ASM

2010-10-25 14:28:53

oracle trun

2010-10-25 16:52:48

oracle管道函数

2010-04-20 11:31:26

Oracle逻辑结构

2010-04-30 17:58:55

Oracle trun

2010-05-04 12:10:08

Oracle over

2010-04-30 10:47:26

Oracle Nvl函

2010-10-25 16:13:31

Oracle to_d

2011-08-30 17:33:10

OracleSAS宏

2011-08-11 17:56:00

Oracle数据库decodesign

2010-05-07 16:21:08

Oracle Raw类
点赞
收藏

51CTO技术栈公众号