Mysql存储过程中字符串分割
来源:互联网 发布:海口百度最seo 编辑:程序博客网 时间:2024/04/30 10:54
今在项目中碰到了要把字符串分割,记录下来,以后可能还用的到
首先想上我的存储过程代码
DELIMITER $$USE `bplate`$$DROP PROCEDURE IF EXISTS `lp_plate_insertplateinfo`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `lp_plate_insertplateinfo`(plate_user INT,plate_title VARCHAR(60) ,plate_type INT,plate_img VARCHAR(500),plate_content MEDIUMTEXT,plate_sku_name VARCHAR(60),plate_sku_price VARCHAR(60) )BEGINDECLARE i INT DEFAULT 0; SET @sql1=CONCAT("INSERT INTO bp_plate(`plate_user`,`plate_title`,`plate_type`,`plate_img`,`plate_sales`,`plate_content`,`plate_level`,`plate_time`,`plate_state`) VALUE(",plate_user,",'",plate_title,"',",plate_type,",'",plate_img,"',",0,",'",plate_content,"',0,NOW(),1)");PREPARE sql1 FROM @sql1;EXECUTE sql1;SET @plate_id='';SELECT LAST_INSERT_ID() INTO @plate_id FROM bp_plate LIMIT 0,1;SET @arraylength=1+(LENGTH(plate_sku_name) - LENGTH(REPLACE(plate_sku_name,',','')));WHILE i<@arraylengthDOSET i=i+1;SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_sku_name,',',i)),',',1)); SET @resultprice = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_sku_price,',',i)),',',1));INSERT INTO bp_plate_sku(`plate_id`,`sku_name`,`sku_price`,`sku_time`,`sku_state`) VALUE(@plate_id,@result,@resultprice,NOW(),1);END WHILE; END$$DELIMITER ;
这是我整个存储过程,分割的是传进来的
plate_sku_name VARCHAR(60),plate_sku_price VARCHAR(60)变量,注意类型不能是int,不然不能分割
然后只要分割方法在于
SET @arraylength=1+(LENGTH(plate_sku_name) - LENGTH(REPLACE(plate_sku_name,',','')));WHILE i<@arraylengthDOSET i=i+1;SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_sku_name,',',i)),',',1)); SET @resultprice = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_sku_price,',',i)),',',1));INSERT INTO bp_plate_sku(`plate_id`,`sku_name`,`sku_price`,`sku_time`,`sku_state`) VALUE(@plate_id,@result,@resultprice,NOW(),1);END WHILE;@arraylength获取要分割字符串根据符号分割后的数组长度
之后便是一个while循环
中间用
REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_sku_name,',',i)),',',1));方式来分割
里面的‘,’是根据要分割的字符,plate_sku_name是要分割的字符串,变量i要从1开始
之后便能分割了
0 0
- Mysql存储过程中字符串分割
- mysql存储过程字符串分割
- 在MySql 中使用存储过程分割字符串
- 用MySQL存储过程分割字符串
- MySql使用存储过程分割字符串
- 利用MySQL存储过程分割字符串
- 利用MySQL存储过程分割字符串
- 利用MySQL存储过程分割字符串
- 利用MySQL存储过程分割字符串
- mysql 使用存储过程分割字符串利用循环插入数据
- mysql 通过存储过程分割字符串为数组
- 逗号分割字符串存储过程
- Sql Server 存储过程对分割字符串
- MYSQL从零开始 -- 时间分割(存储过程)
- mysql在存储过程中字符串转换数字
- mysql存储过程中截取拼接的字符串
- mysql中存储过程
- mysql 中存储过程
- Linux防火墙iptables学习笔记(二)参数指令
- 关于php的加密函数
- EntityFramework 使用Linq处理内连接(inner join)、外链接(left/right outer join)、多表查询
- ATM 自动存款机 (简易代码)
- wireshark部分过滤规则
- Mysql存储过程中字符串分割
- VirtualBox共享文件夹
- Appium测试时如何关联到Genymotion模拟器
- js拼图游戏
- 使用Netty4实现基本的消息分发
- TabLayout属性详解
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例
- revit二次开发 字典表统计功能
- Linux设备驱动之阻塞I/O与异步通知