旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

case when用法【MySQL教程】,case when

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:47评论:0


导读:数据库的casewhen关键字,实在就是类似于if,elseif,else的这一种花样,是猎取推断前提的一种体式格局。在存储历程中和日常平凡写的sql其语法花样是基础一...

数据库的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用法的细致内容,更多请关注ki4网别的相干文章!

标签:case when


欢迎 发表评论: