oracle里nvl,to_char,decode这些函数怎么用啊?

 我来答
greystar_cn
2015-12-06 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部

  Oracle提供了一些逻辑判断函数,这些函数可以在查询中使用。

1. nvl :针对空值进行测试

    函数原型为:NVL(testValue,SubstituteValue)

    常见的用法是  Select max(score) From SC Where Name=‘Jerry’

    有时max(score)为空,也就是说Jerry并没有考试记录,这时我们用"No Record"标注一下:

    Select NVL(max(score),"No Record") From SC;

 

    还有一个NVL2函数跟其相似,函数原型为: NVL(testValue,SubValue1,SubValue2)

NVL2函数实现的是若testValue为NULL,返回SubValue1,否则返回SubValue2。


2.Decode函数

  Decode函数的原型为: Decode(testValue, if1, then1, if2,then2.....else).

   针对testValue进行测试,若testValue等于if1则返回then1,若testValue等于if2则返回then2,....若都没有返回,刚返回else. 示例如下:

若我们用Decode可以这样实现:

SELECT class, course,
       DECODE (student,
               'A', 'Anco',
               'B', 'Bily',
               'C', 'Candy',
               'D', 'Davi',
               'E', 'Eve',
               'F', 'Fion'
              ) AS en_name
  FROM studentinfo


3. to_char函数功能,就是将数值型或者日期型转化为字符型,转换过程中可以进行格式化处理,函数原型较多,示例如下:

   



匿名用户
2013-09-23
展开全部
我用一个sql语句来描述吧, select nvl(name,'无名'), to_char(time,'yyyy,mm,dd,hh,mi,ss') as 日期,decode(fettle,1,'正常',2,'禁用') from mytable;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式