码迷,mamicode.com
首页 > 数据库 > 详细

数据库ORACLE中函数decode的用法

时间:2016-05-25 12:51:27      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

Decode函数与一系列嵌套的 IF-THEN-ELSE语句相似

select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。

有学生成绩表student,现在要用decode函数实现以下几个功能:成绩>85,显示优秀;>70显示良好;>60及格;否则是不及格。

假设student的编号为id,成绩为score,那么:
select id, decode(sign(score-85),1,‘优秀‘,0,‘优秀‘,-1,
decode(sign(score-70),1,‘良好‘,0,‘良好‘,-1,
decode(sign(score-60),1,‘及格‘,0,‘及格‘,-1,‘不及格‘)))
from student;

数据库ORACLE中函数decode的用法

标签:

原文地址:http://www.cnblogs.com/renpei/p/5526218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!