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