mySql——case when else ....demo
DROP PROCEDURE IF EXISTS Pro_query_change_charge_by_layer_report; CREATE PROCEDURE Pro_query_change_charge_by_layer_report ( IN cityCode varchar(32),/*城市code*/ IN areaCode varchar(16),/*区域code*/ IN energyStation INT,/*能源站code*/ IN beginDateTime datetime,/*开始时间*/ IN endDateTime datetime/*结束时间*/ ) BEGIN SET @belongCity = cityCode;/*所属城市code*/ set @area=areaCode;/*区域*/ set @energyStation=energyStation; /*能源站code*/ set @beginDateTime=( CASE WHEN ISNULL(beginDateTime) or beginDateTime='' THEN date_sub(curdate(), INTERVAL 6 DAY) ELSE DATE_FORMAT(beginDateTime,'%Y-%m-%d') END ); /*起始时间*/ set @endDateTime=( CASE WHEN ISNULL(endDateTime) or endDateTime='' THEN curdate() ELSE DATE_FORMAT(endDateTime,'%Y-%m-%d') END ); /*结束时间*/ /*结束时间*/ select v_worklist.station_name,/*站点名称*/ v_worklist.station_id,/*网点id*/ sum( case when (v_worklist.create_time BETWEEN @beginDateTime and @endDateTime) or (v_worklist.create_time>@beginDateTime and (v_worklist.end_time<@endDateTime or v_worklist.end_time is NULL )) then 1 else 0 end ) as shouldChangeOrder,/*应换工单*/ sum( case when v_worklist.create_time BETWEEN @beginDateTime and @endDateTime then 1 else 0 end ) as newAddOrder,/*新增工单*/ sum( case when v_worklist.end_time BETWEEN @beginDateTime and @endDateTime then 1 else 0 end ) as realChangeOrder/*实换工单*/ from v_queryworkorderlist v_worklist WHERE (CASE WHEN IFNULL(@belongCity,'0')='0' OR @belongCity='' THEN 1 ELSE CAST(LOCATE(@belongCity,v_worklist.belong_city) AS SIGNED ) END)=1 AND (CASE WHEN IFNULL(@area,'0')='0' or @area='' THEN 1 ELSE CAST(LOCATE(@area,v_worklist.belong_area) AS SIGNED ) END)=1 AND (CASE WHEN IFNULL(@energyStation,'0')='0' THEN 1 ELSE CAST(LOCATE(@energyStation,v_worklist.repository_id) AS SIGNED ) END)=1 group by v_worklist.station_id; END;
mySql——case when else ....demo的更多相关文章
- MVC jsp+servlet+javabean 连接Mysql数据库測试demo
本文介绍的是怎样使用MVC架构去实现jsp+servlet+javabean连接数据库 首先我们应该了解什么是MVC: MVC包含三个部分 : ①View:由各种JSP页面组成. ②Controlle ...
- springboot成神之——springboot+mybatis+mysql搭建项目简明demo
springboot+mybatis+mysql搭建项目简明demo 项目所需目录结构 pom.xml文件配置 application.properties文件配置 MyApplication.jav ...
- 阳性比例 mysql CASE UNION ALL
阳性比例 mysql CASE UNION ALL SELECT t.*,t.type_0/all_ FROM ( SELECT FROM_UNIXTIME(create_time,'%Y-%m-%d ...
- mysql case when
下面为您举例说明了三种mysql中case when语句的使用方法,供您参考学习,如果您对mysql中case when语句使用方面感兴趣的话,不妨一看. 1. select name, case w ...
- mysql case when 条件过滤
[1].[代码] 使用CASE WHEN进行字符串替换处理 跳至 [1] [2] [3] [4] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 ...
- mysql case when group by实例
mysql 中类似php switch case 的语句. select xx字段, case 字段 when 条件1 then 值1 when 条件2 then 值2 else 其他值 END 别名 ...
- mysql,mycat的demo
一直都是使用公司架构师提供的mycat,今天得空自己尝试了以下: 1.首先安装jdk(官网建议1.7及以上版本),mysql(我安装的是5.7.19-0ubuntu0.16.04.1,设置账号密码为r ...
- mysql case的语法
测试表:team 第一种语法: CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_ ...
- 使用开源框架Sqlsugar结合mysql开发一个小demo
一.Sqlsugar简介 1.性能上有很大优势 sqlsugar是性能最好的ORM之一,具有超越Dapper的性能 ,走的是EMIT够构中间语言动态编译到程序集,完成高性能的实体绑定,达到原生水平. ...
随机推荐
- hibernate mysql 分页时报错 显示的代码和sql server 类似 select top 1……
[ERROR][com.alibaba.druid.filter.stat.StatFilter]merge sql error, dbType mysql, sql : select top 1 d ...
- 2.为ADF应用添加安全性认证
1.打开ADF应用之后,选择Application==>Secure==>Configure ADF Security 2.在弹出框中选择ADF Authentication,一直Next ...
- ZOJ Monthly, January 2019 Little Sub and Isomorphism Sequences 【离线离散化 + set + multiset】
传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5868 Little Sub and Isomorphism Seque ...
- 小BAT解决大麻烦_某卡教室控制软件
@echo off mode con cols= lines= if "%1" == "h" goto begin mshta vbscript:)(windo ...
- Jmeter--随机生成浮点数
post接口中需要随机生成目标对象的地理位置: 所以就使用了javaScript函数,如下所示: { "Location": { "Altitude": ${_ ...
- 移动端web开发技巧和常见问题
常见问题 1.移动端如何定义字体font-family 三大手机系统的字体: ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue ...
- 微信小程序开发——进阶篇
由于项目的原因,最近的工作一直围绕着微信小程序.现在也算告一段落,是时候整理一下这段时间的收获了.我维护的小程序有两个,分别是官方小程序和一个游戏为主的小程序.两个都是用了wepy进行开发,就是这个: ...
- “->”和“.”运算符
1.指向结构变量的指针. 2.定义:struct stu *pstu, 赋值是把结构变量的首地址赋给指针,不能把结构名给该指针:如, pstu = &boy; 3. 访问结构变量的成员 (*结 ...
- 基于vue脚手架的项目打包上线(发布)方法和误区
最近要把vue脚手架开发的一个项目上线,只知道vue脚手架是基于node的服务端项目,那么只需要 npm run dev 就可以轻松启动整个项目,当我想当然的给服务器配置合适的node环境(这里也遇到 ...
- meta的随堂笔记
Meta标签与搜索引擎优化(SEO) 概要 通常所说的meta标签,是在Html网页源代码中的一个重要的html标签.meta标签用来描述一个html网页文档的属性,例如作者.日期和时间.网页描述.关 ...