注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle、MySQL资料及经验

.

 
 
 

日志

 
 

mysql 存储过程逐个输出字符串中的字母或词组  

2017-10-20 09:32:11|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
BEGIN

  DECLARE v_lie  int; #T_TEMP171009表列数
  DECLARE v_hang  int; #T_TEMP171009表行数
  DECLARE v_num  int DEFAULT 1;
  DECLARE v_charstr varchar(500);
  DECLARE v_str varchar(1000) default '';
  DECLARE v_str3 varchar(5000) default 'SELECT ';


  select count(*)+1 into v_hang from T_TEMP171009 where 0=1;
  select v_hang;
  select count(COLUMN_NAME) into v_lie from information_schema.`COLUMNS` where TABLE_SCHEMA=database() and TABLE_NAME='T_TEMP171009';
  #select v_lie;
  #set v_lie=2;
  SET v_charstr="B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2,S2,T2,U2,V2,W2,X2,Y2,Z2,AA2,AB2,AC2,AD2,AE2,AF2,AG2,AH2,AI2,AJ2,AK2,AL2,AM2,AN2,AO2,AP2,AQ2,AR2,AS2,AT2,AU2,AV2,AW2,AX2,AY2,AZ2,BA2,BB2,BC2,BD2,BE2,BF2,BG2,BH2,BI2,BJ2,BK2,BL2,BM2,BN2,BO2,BP2,BQ2,BR2,BS2,BT2,BU2,BV2,BW2,BX2,BY2,BZ2,CA2,CB2,CC2,CD2,CE2,CF2,CG2,CH2,CI2,CJ2,CK2,CL2,CM2,CN2,CO2,CP2,CQ2,CR2,CS2,CT2,CU2,CV2,CW2,CX2,CY2,CZ2";
  #select SUBSTRING_INDEX(v_charstr,',',1);
  #select REPLACE(SUBSTRING_INDEX(v_charstr,',',1),2,v_lie);

  WHILE v_num <= v_lie DO
  SET v_str=CONCAT(SUBSTRING_INDEX(SUBSTRING_INDEX(v_charstr,',',v_num),',',-1),':',REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(v_charstr,',',v_num),',',-1),2,v_hang));
  #SELECT v_str;
  IF v_hang!=1 THEN
      SET v_str3=CONCAT(v_str3,"'=SUM(",v_str,")',");
  ELSE
      SET v_str3=CONCAT(v_str3,'0,');
  END IF;
 
  SET v_num=v_num+1; 
  END WHILE;

  SET v_str3=left(v_str3,char_length(v_str3)-1); #去掉拼接出来的字符串最后的逗号
  SELECT v_str3;
  set v_str3=CONCAT('select * from T_TEMP171009 union all ',v_str3);
  SELECT v_str3; 

  set @v=CONCAT('select * from T_TEMP171009 union all ',v_str3);
  select @v;
 

END
  评论这张
 
阅读(12)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017