mysql 存储过程

  1. CREATE PROCEDURE pro_province_report (IN startDate VARCHAR(),IN endDate VARCHAR(),IN SourceType INT)
  2. /*
  3. 功能:根据时间,来源SourceType
  4. 统计 每个省份的 注册用户 投稿数 作品点击量 投票量 参与人数
  5. pro_province_report();
  6. */
  7.  
  8. BEGIN
  9.  
  10. DECLARE temp_user_sql VARCHAR();
  11. DECLARE temp_works_sql VARCHAR();
  12. #条件
  13. DECLARE dateStr VARCHAR();
  14. DECLARE dateStr_w VARCHAR();
  15. #来源条件
  16. DECLARE sourceStr VARCHAR();
  17. DECLARE sourceStr_w VARCHAR();
  18.  
  19. IF(startDate!=''&&endDate!='') THEN
  20. SET dateStr=CONCAT( ' AND DATE(addDate)>=DATE("',startDate,'") AND DATE(addDate)<=DATE("',endDate,'")' );
  21. SET dateStr_w=CONCAT( ' AND DATE(w.addDate)>=DATE("',startDate,'") AND DATE(w.addDate)<=DATE("',endDate,'")' );
  22. ELSE
  23. SET dateStr=" AND 1=1 ";
  24. SET dateStr_w=" AND 1=1 ";
  25. END IF;
  26.  
  27. IF(SourceType>) THEN
  28. SET sourceStr=CONCAT(' AND SourceType="',SourceType,'" ');
  29. SET sourceStr_w=CONCAT(' AND w.SourceType="',SourceType,'" ');
  30. ELSE
  31. SET sourceStr=" AND 1=1 ";
  32. SET sourceStr_w=" AND 1=1 ";
  33. END IF;
  34.  
  35. #用户注册 临时表
  36.  
  37.   DROP TEMPORARY TABLE IF EXISTS memberUserTemp;
  1. SET temp_user_sql =CONCAT('CREATE TEMPORARY TABLE memberUserTemp
  2. SELECT COUNT() accountSum,provinceID,province FROM MEMBERUSER WHERE provinceID> ',dateStr,sourceStr,' GROUP BY provinceID');
  3. DROP TEMPORARY TABLE IF EXISTS memberUserTemp;
  4.  
  5. set @temp_user_sql=temp_user_sql; #将连成成的字符串赋值给一个变量(可以之前没有定义,但要以@开头)
  6. prepare stmt from @temp_user_sql; #预处理需要执行的动态SQL,其中stmt是一个变量
  7. EXECUTE stmt; #执行SQL语句
  8. deallocate prepare stmt; #释放掉预处理段
  9. #投稿数 临时表
  10. SET temp_works_sql=CONCAT('CREATE TEMPORARY TABLE worksTemp
  11. SELECT COUNT() worksSum,provinceID,province FROM WORKS WHERE provinceID> ',dateStr,sourceStr,' GROUP BY provinceID');
  12. DROP TEMPORARY TABLE IF EXISTS worksTemp;
  13. set @temp_works_sql=temp_works_sql;
  14. prepare stmt from @temp_works_sql;
  15. EXECUTE stmt;
  16. deallocate prepare stmt;
  17.  
  18. 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. libevent安装后缺少libevent_openssl.so

    最近要使用阿里的rocketmq,需要依赖libevent,所以下了个源码自己编译安装,安装过程按照readme来的: 1 ./configure 2 make 3 make install 但是安装 ...

  2. centos svn强制要求提交代码时写注释

    1. 重命名svn主目录中hooks的pre-commit.tmpl文件为pre-commit,并添加可执行权限 mv pre-commit.tmpl pre-commit chmod u+x pre ...

  3. filter in Servlet

    Servlet过滤器: Servlet过滤器是用于执行某些过滤任务的对象.过滤器可以应用于servlet,jsp或html. Servlet过滤器主要用于以下任务: 预处理: Servlet过滤器用于 ...

  4. 清除eclipse,STS workspace历史记录

    记一下 打开eclipse下的/configuration/.settings目录 修改文件org.eclipse.ui.ide.prefs文件 把RECENT_WORKSPACES这项修改为你需要的 ...

  5. leetcode448

    public class Solution { public IList<int> FindDisappearedNumbers(int[] nums) { Dictionary<i ...

  6. Python 高阶函数map(),filter(),reduce()

    map()函数,接收两个参数,一个是函数,一个是序列,map()把传入的函数依次作用于序列的每个元素,并把结果作为新的序列返回: aa = [1, 2, 3, 4, 5] print("ma ...

  7. TensorFlow学习之四

    Tensorflow一些常用基本概念与函数(1) 摘要:本文主要对tf的一些常用概念与方法进行描述. 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开 ...

  8. Java语法 [常识1]

    1. Java 语言采用的是双字节Unicode 编码 . 2. 标识符就是变量.常量.方法[函数].枚举.类.接口等由写代码的猴子们制定的名字.构成标识符的字母均有一定的规范,Java语言中的命名规 ...

  9. ArcGIS自定义工具箱-字段分割

    ArcGIS自定义工具箱-字段分割 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:用指定分割符分割字段, 用例:湖南省长沙市=>湖南/长沙 数据源: 使 ...

  10. 洛谷P1169 棋盘制作(悬线法)

    题目链接:https://www.luogu.org/problemnew/show/P1169 #include<bits/stdc++.h> #define fi first #def ...