mysql 存储过程 CONCAT 字符串拼接
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 字符串拼接的更多相关文章
- mysql存储过程变量的拼接
存储过程变量的拼接 有时候我们需要模糊查询,但是同时我们又要 在模糊查询的时候使用变量,我们又想在变量的后面拼接一个%去匹配模糊查询 那么就会用到 concat函数 示例如下: www. ...
- 利用MySQL存储过程分割字符串
(转)http://tec.5lulu.com/detail/104krn1e6p2w78d77.html 现有一段字符串,如apple,banana,orange,pears,grape,要把它按照 ...
- StringBuilder String string.Concat 字符串拼接速度再议
首先看测试代码: public class StringSpeedTest { "; public string StringAdd(int count) { string str = st ...
- StringBuilder String string.Concat 字符串拼接速度
首先看测试代码: public class StringSpeedTest { "; public string StringAdd(int count) { string str = st ...
- mysql存储过程中字符串参数单引号
注意:存储过程中单引号 ,四个单引号 SET @sql = CONCAT('select user_id into ',m_user_id,' from go_user where mobile = ...
- mysql学习笔记--- 字符串函数、日期时间函数
一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位置 5.LEFT/RIGHT 取左 ...
- mysql字符串拼接,存储过程
添加字段: alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在 ...
- mysql 字符串拼接函数CANCAT()与GROUP_CANCAT()
1.CONCAT() 拼接单行字符串 select concat(‘100’,user_id) from table1; select concat('11','22','33'); 结果 11223 ...
- [转]mysql中的字符串的拼接
字符串的拼接 1,Mysql 在Java.C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:"1"+"3"."a"+"b ...
随机推荐
- ActiveMQ(1)---初识ActiveMQ
消息中间件的初步认识 什么是消息中间件? 消息中间件是值利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,可以在分布式架构下扩展进 ...
- <记录> PHP读取命令行参数
方法一:使用$argv or $argc参数接收 echo "接收到{$argc}个参数"; print_r($argv); [root@DELL113 lee]# /usr/lo ...
- Eclipse 安装中文简体语言包
Installing the language packs Open the install wizard with 'Help' > 'Install new software...' Add ...
- DML DDL DCL
转自:https://blog.csdn.net/level_level/article/details/4248685
- 学了 Python 能用来做这些!
来源商业新知网,原标题:学了 Python 能用来做什么? 说起编程语言,Python 也许不是使用最广的,但一定是现在被谈论最多的.随着近年大数据.人工智能的兴起,Python 越来越多的出现在人们 ...
- ABAP 省市县级联搜索帮助
在展示ABAP代码之前,先建立自建表ZCHENH006,表中包含两个关键字段 BELNR(地区编码),SDESC(地区描述). 编码规则参考:身份证前六位地区编码规则,可参考我另外一篇Blog导入系统 ...
- 169. Majority Element (Array)
Given an array of size n, find the majority element. The majority element is the element that appear ...
- linux环境:创建数据库用户,表空间,启动数据库
1.启动数据库 首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令:第一步:打开Oracle监听(先查看状态:oracle监听是否启动:lsnrctl status)$ l ...
- HDU 4780 Candy Factory(拆点费用流)
Problem Description A new candy factory opens in pku-town. The factory import M machines to produc ...
- 688. Knight Probability in Chessboard棋子留在棋盘上的概率
[抄题]: On an NxN chessboard, a knight starts at the r-th row and c-th column and attempts to make exa ...