百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> case when用途
分享文章到:

case when用途

发布时间:09/01 来源:未知 浏览: 关键词:

数据库的case when关键字,其实就是相似于if,else if,else的这一种格局,是猎取推断前提的一种方式

在储备历程中和平常写的sql其语法格局是根本一致的,case when的用途调取也是。

先行举例:

select qzh from ywda_swjg_qzh_dz
where swjg = (
select
case when substr('11101823000'),0,7) = '1110182'
then substr('11101960000',0,8) || '000'
else substr('1110196000',0,7) || '0000'
end
swjgdm from ywda_swjg_qzh_dz
where a.swjg_dm = b.swjg_dm);

case when 不只可以在查询的结果中停止使用,一样可以在where前提之后做推断前提使用。

这一条sql把两种状况都囊括在其中了,当然我们也可以不消在后方的where前提中参加select,如:

select qzh from ywda_swjg_qzh_dz
where swjg =
case when substr('11101823000'),0,7) = '1110182'
then substr('11101960000',0,8) || '000'
else substr('1110196000',0,7) || '0000'
end;

这种格局直接用case when 的方式效力必定还是比力高的。

留意:case when必需配合then 乃至end来停止使用。

当然,我的储备历程没有这么写,今天老大发话,说不消太负责,直接if,else这种格局书写就可以了。

储备历程的if,else和前后台用的if乃至else格局还是有点不一样的,公司没外网,纯手打,咱就不贴java代码了,直接上储备历程的部分内容。

if substr(AVC_QXSWJG,0,8) = '11100006' or substr(AVC_QXSWJG,0,7) = '1110182' then
select qzh into avc_qch from ywda_swjg_qzh_dz where swjg_dm = substr(avc_qxswjg,0,8) || '000';
elsif    前提(不加括号) then
................................sql省略.........................................
else
.................................sql省略.......................................
end if;
sql完毕。

留意,逻辑运算符在这里采纳sql的逻辑运算符,即and,or这一类。

上方写的“||”是在字段后方追加字符串,不是逻辑或,要留意。

在if完毕之后,必然要加end if来表示当前if完毕。

引荐教程:mysql视频教程

以上就是case when用途的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有156人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板