ITPub博客

首页 > 数据库 > Oracle > oracle数据库操纵语言——Oracle caseE函数用法

oracle数据库操纵语言——Oracle caseE函数用法

Oracle 作者:zmx1225 时间:2013-12-07 20:39:15 0 删除 编辑

case语句存在两种形式:case和搜刮式case。

两者最次要的辨别是:case语句能够设定选择器,由选择器决议需供执止哪组动做;

                                   而搜刮式case语句没有选择器,搜刮条件按顺序递次执止,从而决议执止哪组动做。

构造:case语句的构造如下:

                       case selector

                           when expression 1 then statement 1;

                           when expression 2 then statement 2;

                           ......

                           when expression N then statement N;

                           else statement N+1;

                       end case;

           搜刮式case语句的构造如下:

                      case

                           when expression 1 then statement 1;

                           when expression 2 then statement 2;

                           ......

                           when expression N then statement N;

                           else statement N+1;

                       end case;

 工做流程:case语句的工做流程如下:

                      1.计算选择器;

                      2.将表达式1与选择器对照,匹配则返回statement 1,完毕case语句,否则进止下一步;

                      3.将表达式2与选择器对照,匹配则返回statement 2,完毕case语句,否则进止下一步;

                      4.以次类推,直到将表达式N与选择器进止对照,匹配则返回statement N,否回statement  N+1 ,

                         完毕case语句。

                  搜刮式case语句的工做流程如下:

                       1.断定条件1的计算成效可否为真,为真则返回statement 1,完毕case语句,否则进止下一步;

                       2.断定条件1的计算成效可否为真,为真则返回statement 2,完毕case语句,否则进止下一步;

                       3.以此类推,直到断定条件N的计算成效可否为真,为真则返回statement N,否则返回            

                          statement  N+1 ,完毕case语句。

示例:

case语句示例:select case to_char(sysdate,"yyyymm")
                                      when  "201001" then
                                        "一月"
                                      when  "201002" then
                                       "两月"
                                      when  "201003" then
                                       "三月"
                                      else "四到十两月之间"
                                  end case 
                        from dual;

搜刮式case语句:select case
                                         when  to_char(sysdate,"yyyymm") = "201001" then
                                             "一月"
                                         when  to_char(sysdate,"yyyymm") = "201002" then
                                             "两月"
                                         when  to_char(sysdate,"yyyymm") = "201003" then
                                             "三月"
                                         else "四到十两月之间"
                                    end case
                            from dual;


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23225771/viewspace-1115161/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-01-22