大家好,感谢邀请,今天来为大家分享一下使用时的情况的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
数据库的case when关键字实际上是类似于if、else if、else的格式,是一种获取判断条件的方式。
存储过程中编写的SQL的语法格式与平时编写的SQL基本相同,case when的用法和调用也相同。
第一个例子:
从ywda_swjg_qzh_dz 选择qzh
其中swjg=(
选择
substr(‘11101823000′),0,7)=’1110182’ 时的情况
然后substr(‘11101960000’,0,8) || ‘000’
else substr(‘1110196000’,0,7) || ‘0000’
结尾
来自ywda_swjg_qzh_dz 的swjgdm
其中a.swjg_dm=b.swjg_dm);
casewhen不仅可以用在查询结果中,还可以作为where条件之后的判断条件。
这个sql涵盖了这两种情况。当然,我们不需要在后面的where条件中添加select,例如:
从ywda_swjg_qzh_dz 选择qzh
其中swjg=
substr(‘11101823000′),0,7)=’1110182’ 时的情况
然后substr(‘11101960000’,0,8) || ‘000’
else substr(‘1110196000’,0,7) || ‘0000’
结尾;
直接以这种格式使用案例肯定会更有效。
注意:case when 必须与then 和end 一起使用。
当然,我的存储过程不是这样写的。今天老板说我不用太负责,按照if和else的格式写就可以了。
存储过程的if和else格式与前后端使用的if和else格式有点不同。公司没有外部网络,纯手写。 Java代码我就不贴了,直接贴出部分存储过程。
如果substr(AVC_QXSWJG,0,8)=’11100006′ 或substr(AVC_QXSWJG,0,7)=’1110182′ 那么
从ywda_swjg_qzh_dz 选择qzh 到avc_qch,其中swjg_dm=substr(avc_qxswjg,0,8) || ‘000’;
elsif 条件(不带括号)然后
…sql 省略…….
别的
…sql省略… …………………………
结束如果;
sql结束。
注意,这里使用的逻辑运算符是SQL逻辑运算符,即and和or。
“||”上面写的是在字段后面追加一个字符串,而不是逻辑或,请注意。
if结束后,一定要加上end if,表示当前if的结束。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/119183.html
用户评论
反正是我
对"CASE WHEN"的理解真是一大进步!看了这篇博文后我终于明白怎么用它灵活地处理条件判断了,以前总觉得这个功能有点神秘,现在想上手试试!
有6位网友表示赞同!
七夏i
这篇文章解释得非常清楚,案例也很贴近实际应用场景。之前一直不知道CASE WHEN这么强大,赶紧去学习一下!
有18位网友表示赞同!
有恃无恐
写的真棒,终于明白为什么别人总是用CASE WHEN来处理复杂的判断业务逻辑了!
有5位网友表示赞同!
她最好i
讲真,"CASE WHEN"这个语法本来就让我头疼,感觉太难理解了。这篇文章虽然解释得清楚,我还是觉得有点抽象,希望有更直观的案例可以参考。
有7位网友表示赞同!
苏樱凉
博主写的真的很到位,用通俗易懂的语言讲解了“CASE WHEN”的每一个细节!我之前 struggled 很久才学会这个用法,现在有了这篇文可供参考就好了!
有11位网友表示赞同!
孤城暮雨
其实我觉得"CASE WHEN"这种逻辑判断方式还是有些复杂,总感觉不如传统的if else语句直观。不过这篇文章确实让我对它有了一个更清晰的认识。
有13位网友表示赞同!
疯人疯语疯人愿
学习编程的过程真是不容易啊,这个"CASE WHEN"也给我整挺难了!还好这篇博文给了我一些启发,我现在至少明白了它的基本用法。
有5位网友表示赞同!
伪心
以前从来没用过 “CASE WHEN” ,觉得这东西太复杂了。看了这篇博文后感觉还可以,有兴趣尝试一下
有19位网友表示赞同!
神经兮兮°
这个案例分析很棒,让我直接明白CASE WHEN的使用场景和优势!真是学习的好方法!
有9位网友表示赞同!
此生一诺
文章写的简单易懂,但对于初学者来说,能否提供一些代码实例讲解更具体?比如:在实际项目中如何运用CASE WHEN来完成某个功能呢?
有19位网友表示赞同!
怅惘
博主解释"CASE WHEN "的用法非常仔细和详细,我读完之后感觉自己离能够熟练使用它就只差一点点!
有7位网友表示赞同!
一样剩余
这篇文章真的太棒了!终于明白为什么CASE WHEN会被广泛应用于数据库查询中,这种灵活的逻辑判断效率真是太高了!
有13位网友表示赞同!
单身i
文章讲解很透彻,案例也很有说服力。我现在对“CASE WHEN”这个语法有了更深刻的理解!
有16位网友表示赞同!
灵魂摆渡人
这篇文章让我解决了长期困扰的问题,我终于明白如何使用CASE WHEN来处理数据分类问题!以前总是手写的if else语句太长太复杂了!
有9位网友表示赞同!
如梦初醒
我一直觉得"CASE WHEN"这个语法有点绕口,但这篇博文用生动的例子解释得很清楚。原来它是这么实用强大的工具!
有19位网友表示赞同!
久爱不厌
文章写的简洁明了,关键是案例结合得很好,让我想起来之前自己写的代码中也能用到“CASE WHEN”,太棒啦!学习效率蹭蹭上涨!
有13位网友表示赞同!
∞◆暯小萱◆
觉得这篇博文很有帮助,可以把我之前对"CASE WHEN"的理解进一步提升。希望以后能看到更多实战案例!
有5位网友表示赞同!
我就是这样一个人
文章内容很实用,但希望能提供一些关于“CASE WHEN”性能优劣分析的内容,以便于我们更好地进行代码选型和优化。
有12位网友表示赞同!