mysql之case..when ..then..else..end as..用法
1.示例1
查询1:
SELECT CASE main_xm_sam31 WHEN '02' THEN 2 ELSE 1 END AS SPDJ FROM SR_MAIN_BG A WHERE A.PK_SR_MAIN = '1162275825622593536' AND (SYS_SPDJ = 0 OR SYS_SPDJ = -1)
查询2:
SELECT
count(1) AS ncount,
(
CASE sys_sjbj
WHEN 0 THEN
'个人发布'
WHEN 1 THEN
'组织发布'
WHEN 2 THEN
'机构发布'
ELSE
'其他'
END
) AS fblx,
ifnull(
sum(CASE rlzt WHEN 2 THEN 1 ELSE 0 END),
0
) AS xyl,
ifnull(
ROUND(
sum(
TIMESTAMPDIFF(DAY, fbsj, rlsj)
) / sum(CASE rlzt WHEN 2 THEN 1 ELSE 0 END),
1
),
0
) AS pjrlsj
FROM
sr_xqfb
WHERE
fbrq LIKE '2019%'
GROUP BY
sys_sjbj
查询3:
SELECT
CASE WHEN mdjlx = '0301' THEN '人道救援'
WHEN mdjlx = '2201' THEN '低收入家庭免费用电信息'
WHEN mdjlx = '2301' THEN '低收入家庭优待信息'
ELSE '暂定-农办厅专项救助' END AS mdjlx,
sys_xzqh
from sr_main_zdts
2.示例2
更新表1:
//更新表,将中文转为对应数字
update st_qlsx set qlsx_lx = CASE WHEN qlsx_lx='许可' THEN '01' WHEN qlsx_lx='处罚' THEN '03'
END ;
3.示例3
插入表1
insert into sr_main_sjzhk(sys_spzt,sys_djzt,sys_scbj,mdjlx,pk_sr_main,sys_xzqh,xzqh,mhz,mhzsfz,mjtrk,main_xm_sam20,mjzksrq,main_xm_sam21,MAIN_XM_SAM22,MAIN_XM_SAM23)
select (case when bzzt = '在保' then 1 else 4 end ) as sys_spzt, (case when bzzt = '在保' then 1 else 0 end ) as sys_djzt, 0 as sys_scbj,'ywgl_sjst' as mdjlx, ? as pk_sr_main,xzqh as sys_xzqh,xzqh as xzqh,bzdxxm as mhz,bzdxsfzh as mhzsfz,jtrs as mjtzrk,bzfs as main_xm_sam20,gxsj as mjzksrq,bzzt as main_xm_sam21 ,bzjtbh as MAIN_XM_SAM22 ,? as MAIN_XM_SAM23 from sr_gzf where SFZSQR = '是' and clbj =0 and id = ? and pk_sr_gzf = ?";
mysql之case..when ..then..else..end as..用法的更多相关文章
- MySql 中 case when then else end 的用法
解释: SELECT case -------------如果 when sex='1' then '男' ---------- ...
- MySQL中CASE的使用
语法说明: 方式一: CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE ...
- MySQL存储过程 CASE语句
MySQL存储过程 CASE语句 除了IF语句,MySQL提供了一个替代的条件语句CASE. MySQL CASE语句使代码更加可读和高效. CASE语句有两种形式:简单的搜索CASE语句. 简单C ...
- MySQL中case when的基本用法总结
MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...
- MySql 里的IFNULL、NULLIF和ISNULL用法
MySql 里的IFNULL.NULLIF和ISNULL用法 mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如expr 为null,那么isnu ...
- mysql if case条件更新
在mysql中,如果你要根据某个字段的值不一样,来更新另一个字段的值,可以用如下sql语句: 如果仅仅是两个分支,if语句就可以了 update tm set page_name=if(q_aswer ...
- mysql 语句case when
CREATE TABLE `lee` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) DEFAULT NULL, `birthday` d ...
- Mysql 临时变量的 定义 和 赋值 Set 和 Into 赋值; Swith Mysql版本 Case When的用法
一:临时变量的定义和赋值 DECLARE spot SMALLINT; -- 分隔符的位置 DECLARE tempId VARCHAR(64); -- 循环 需要用到的临时的Cid DECLARE ...
- mysql中 case when的使用
SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b ...
随机推荐
- windows下XAMPP集成环境中,MySQL数据库的使用
https://jingyan.baidu.com/article/d169e186467a44436611d8b1.html
- Byte 一个字节的数据大小范围为什么是-128~127
一个字节是8位,最高位是符号位,最高位为0则是正数.最高位为1则是负数 如果一个数是正数,最大数则为:01111111,转为十进制为127, 如果一个数是负数,按照一般人都会觉得是11111111,转 ...
- rownum按某字段排序查询
特点:rownum伪列,查询结果按顺序从1递增排列 用途:按某字段排序查询第几名到第几名的数据 但加上按字段排序条件后,rownum并不会从1递增 需把按字段排序查询的数据作为一张表,再次查询,row ...
- cc.fade.fade
用cc.fadeIn之前要先把setOpacity(0),笑哭,啊啊啊啊啊.因为这个东西卡了好久,啊啊啊
- java流程控制结构
一.流程控制分三类 1. 顺序结构 - 程序是从上往下,从左往右执行 2. 选择结构(判断结构) - if语句 A. if(关系表达式){语句体} - 执行流程:成立就执行语句体,不成立就不执行 B. ...
- 【Vue2.x笔记1】数据响应式原理
1.Object.defineProperty Vue2.x 使用Object.defineProperty 将 Vue 实例中的data对象全部转为getter/setter.在内部让 Vue 能够 ...
- 与第三方系统对接,生成Cloud出入库单据
案例: Cloud的采购订单同步到第三方系统,第三方系统入库后同步生成Cloud采购入库单. 解决方案:调用采购订单的下推API,先生成保存状态的采购入库单(采购入库单中的仓库是必填项,可以在采购订单 ...
- eclipse运行错误提示 Failed to load D:\Android\sdk\build-tools\26.0.0-preview\lib\dx.jar
前几天在ecplise上运行项目还好好,今天一运行就提示这个错误:Your project contains error(s), please fix them before running your ...
- 剑指offer 15.链表反转
15.链表反转 题目描述 输入一个链表,反转链表后,输出新链表的表头. PHead,pre, next分别指向当前结点, 前一个结点, 后一个结点,每次迭代先更新当前结点的指针,记录下个结点的指向,转 ...
- 微信小程序之数组操作:push与concat的区别
微信小程序中需要用到数组的操作,push和concat二者功能很相像,但有两点区别. 先看如下例子: var arr = []; arr.push(); arr.push(); arr.push([, ...