mysql 存储过程

CREATE  PROCEDURE  pro_province_report (IN startDate VARCHAR(),IN endDate VARCHAR(),IN SourceType INT)
/*
功能:根据时间,来源SourceType
统计 每个省份的 注册用户 投稿数 作品点击量 投票量 参与人数
pro_province_report();
*/ BEGIN DECLARE temp_user_sql VARCHAR();
DECLARE temp_works_sql VARCHAR();
#条件
DECLARE dateStr VARCHAR();
DECLARE dateStr_w VARCHAR();
#来源条件
DECLARE sourceStr VARCHAR();
DECLARE sourceStr_w VARCHAR(); IF(startDate!=''&&endDate!='') THEN
SET dateStr=CONCAT( ' AND DATE(addDate)>=DATE("',startDate,'") AND DATE(addDate)<=DATE("',endDate,'")' );
SET dateStr_w=CONCAT( ' AND DATE(w.addDate)>=DATE("',startDate,'") AND DATE(w.addDate)<=DATE("',endDate,'")' );
ELSE
SET dateStr=" AND 1=1 ";
SET dateStr_w=" AND 1=1 ";
END IF; IF(SourceType>) THEN
SET sourceStr=CONCAT(' AND SourceType="',SourceType,'" ');
SET sourceStr_w=CONCAT(' AND w.SourceType="',SourceType,'" ');
ELSE
SET sourceStr=" AND 1=1 ";
SET sourceStr_w=" AND 1=1 ";
END IF; #用户注册 临时表   DROP TEMPORARY TABLE IF EXISTS memberUserTemp;
  SET temp_user_sql =CONCAT('CREATE TEMPORARY TABLE memberUserTemp
SELECT COUNT() accountSum,provinceID,province FROM MEMBERUSER WHERE provinceID> ',dateStr,sourceStr,' GROUP BY provinceID');
DROP TEMPORARY TABLE IF EXISTS memberUserTemp; set @temp_user_sql=temp_user_sql; #将连成成的字符串赋值给一个变量(可以之前没有定义,但要以@开头)
prepare stmt from @temp_user_sql; #预处理需要执行的动态SQL,其中stmt是一个变量
EXECUTE stmt; #执行SQL语句
deallocate prepare stmt; #释放掉预处理段
#投稿数 临时表
SET temp_works_sql=CONCAT('CREATE TEMPORARY TABLE worksTemp
SELECT COUNT() worksSum,provinceID,province FROM WORKS WHERE provinceID> ',dateStr,sourceStr,' GROUP BY provinceID');
DROP TEMPORARY TABLE IF EXISTS worksTemp;
set @temp_works_sql=temp_works_sql;
prepare stmt from @temp_works_sql;
EXECUTE stmt;
deallocate prepare stmt; END

mysql 存储过程 CONCAT 字符串拼接的更多相关文章

  1. mysql存储过程变量的拼接

    存储过程变量的拼接   有时候我们需要模糊查询,但是同时我们又要 在模糊查询的时候使用变量,我们又想在变量的后面拼接一个%去匹配模糊查询   那么就会用到 concat函数   示例如下:  www. ...

  2. 利用MySQL存储过程分割字符串

    (转)http://tec.5lulu.com/detail/104krn1e6p2w78d77.html 现有一段字符串,如apple,banana,orange,pears,grape,要把它按照 ...

  3. StringBuilder String string.Concat 字符串拼接速度再议

    首先看测试代码: public class StringSpeedTest { "; public string StringAdd(int count) { string str = st ...

  4. StringBuilder String string.Concat 字符串拼接速度

    首先看测试代码: public class StringSpeedTest { "; public string StringAdd(int count) { string str = st ...

  5. mysql存储过程中字符串参数单引号

    注意:存储过程中单引号  ,四个单引号 SET @sql = CONCAT('select user_id into ',m_user_id,' from go_user where mobile = ...

  6. mysql学习笔记--- 字符串函数、日期时间函数

    一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左 ...

  7. mysql字符串拼接,存储过程

    添加字段: alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在 ...

  8. mysql 字符串拼接函数CANCAT()与GROUP_CANCAT()

    1.CONCAT() 拼接单行字符串 select concat(‘100’,user_id) from table1; select concat('11','22','33'); 结果 11223 ...

  9. [转]mysql中的字符串的拼接

    字符串的拼接 1,Mysql 在Java.C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:"1"+"3"."a"+"b ...

随机推荐

  1. java中封装类(一)

    java中封装类共九个,分别是Boolean,Byte,Short,Integer,Long,Float,Double,Character,Void 其中Void对于使用者并无多大意义,也不可以构造任 ...

  2. <Dare To Dream 团队>第二次作业:基于B/S的家教管理系统

     团队项目GitHub仓库地址:https://github.com/Sophur/Team-Project.git  为其他团队评分结果: 小组名 N A B C D 总分 平均分 Blue Flk ...

  3. 深入理解Java中的IO

    深入理解Java中的IO 引言:     对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java >   本文的目录视图如下: ...

  4. 爬虫 1 requests 、beautifulsoup

    1.requests 1.method 提交方式:post.get.put.delete.options.head.patch 2.url 访问地址 3.params 在url中传递的参数,GET p ...

  5. canvas绘制气泡

    思路:使用Math.random()函数绘制是个不同位置,大小,颜色的圆形,然后设置定时器,前一个状态用一个与画布相同颜色的背景图片进行覆盖,改变圆形的位置,每次改变都是在这张空白的背景图片上面重新进 ...

  6. spring @Scheduled 并发

    一.spring定时任务配置 applicationContext.xml:红色代码部分为需要配置的部分. <?xml version="1.0" encoding=&quo ...

  7. Add Inline Actions

    [Add Inline Actions] 1.为了使用 inline action,需要给 eosio.code 账号添加active权限. To use the 'activeauthority i ...

  8. EOS keosd

    [EOS keosd] The program keosd, located in the eos/build/programs/keosd folder within the EOSIO/eos r ...

  9. jsp中<c:if>标签的用法

    <c:if test="${(tbl.column1 eq '值') and (tbl.column2 eq 'str')}"> <table>...< ...

  10. mybatis多表关联

    1.比如我有两个一个是菜单表t_menu,一个是权限表t_jurisdiction.表结构如下: 2.我想要将这两个表关联,查询特定的role_id下的菜单情况,这也是我们经常用在权限管理系统中的做法 ...