Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 函数用法之decode

Oracle数据库: DECODE函数将该数值与一系列的序偶相比较,以决定最后的返回结果 。序偶序偶,就是成对出现;我们将这个函数与switch比较,我们发现他们基本相似,唯一不同的是switch将要比较的值放在case后面都加上了break中。 以下一个例子:(我直接从网上找的) SELECT id, DECODE(flag,’Y’,"Yes’,"N’,’No’,NULL,’None’,"Yes’) FROM t_test; 当t_test的flag字段为Y时返回Yes,为N时返回No,为NULL时返回None,默认返回Yes。 看看我遇到的问题: SELECT a.id, a.user_name, a.oper_time time2, a.oper_type, a.description, a.oper_flag, decode(a.oper_flag, "1", "成功", "失败") oper_flag, a.ip, b.true_name FROM SEC_LOG_OPERATION a left join sec_user b on a.user_name = b.user_name where 1 = 1 order by oper_time desc 原来这红线部分是: decode(a.oper_flag, 1, "成功", "失败") 我在查询的时候会报错,原因是oper_flag这个字段数据中有非数字类型,也就是这个字段不仅有1、0,还有“失败”,这样数据!=字符。所以我们把1当字符处理就可以了。Oracle经验分享:GATHER_STATS_JOB 任务查询与修改Oracle字符集相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (1)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论