Oracle 函数用法之decode,DECODE函数将该数值与一系列的序偶相比较,以决定***的返回结果 。序偶序偶,就是成对出现;我们将这个Oracle函数与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 11 = 1
- order by oper_time desc
原来这红线部分是: decode(a.oper_flag, 1, '成功', '失败')
我在查询的时候会报错,原因是oper_flag这个字段数据中有非数字类型,也就是这个字段不仅有1、0,还有“失败”,这样数据!=字符。所以我们把1当字符处理就可以了。以上的相关内容就是对Oracle 函数用法之decode的介绍,望你能有所收获。
当前文章:Oracle函数用法之decode解剖
分享路径:http://www.shufengxianlan.com/qtweb/news46/379096.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联