谁能介绍下,oracle中decode函数的用处?

 我来答
风铃中de鬼
2011-08-21 · 超过12用户采纳过TA的回答
知道答主
回答量:219
采纳率:0%
帮助的人:42.1万
展开全部
decode(字段名或公式,如果1,则1,如果2,则2。。。否则,3)

比如有个表里有个数字字段叫int_a
decode(int_a,1,100,2,200,300)
上面这个函数的意思就是如果int_a=1,则查询结果该数据显示为100,等于2则显示为200,否则都显示为300。。。

用处很多根据需求不同有不同,最常用的是比如表里有个字段做标志位不同数字代表不同的含义,比如‘1’代表省,‘2’代表国家,在查询结果上肯定不能显示为数字1或2,这样谁也不明白什么意思,就可以用decode(int_a,1,'省',2,'国家')这样写。。
ssanitxu
2011-08-22 · TA获得超过325个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:184万
展开全部
DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)

  该函数的含义如下:

  IF 条件=值1 THEN

  RETURN(翻译值1)

  ELSIF 条件=值2 THEN

  RETURN(翻译值2)

  ......

  ELSIF 条件=值n THEN

  RETURN(翻译值n)

  ELSE

  RETURN(缺省值)

  END IF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落草格
2011-08-22 · TA获得超过550个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:203万
展开全部
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )这是百度里的一句,但是蛮直观的。我觉得 decode有点像是if else的den等同简略式,比if语句来的简单也直接。
比如说,假设,一个学生的成绩MARK,如果是得了A,则为优秀,如果是B,则为良好,如果是C,则为一般,其他的,都是不及格,那么就是
select decode(mark,'A','优秀','B','良好','C','一般','不及格') from dual;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式