mysql将字符串转换成数组
2016-01-05 02:13
681 查看
mysql本身不支持数组,从网上查了一些资料,修改了一下,使用临时表实现。
drop table if exists list; create temporary table list(id INT not null); drop PROCEDURE if exists strings_to_array; create PROCEDURE strings_to_array(s_str varchar(128), s_split varchar(3)) begin set @i = length(s_str) - length(replace(s_str,s_split,'')); -- 算出分隔符的总数 set @left_str = s_str; while @i>0 -- 有多少个分隔符就循环多少遍 do set @sub_str = substr(@left_str,1,instr(@left_str,s_split)-1); -- 得到分隔符前面的字符串 set @left_str = substr(@left_str,length(@sub_str)+length(s_split)+1); -- 得到分隔符后面的字符串 set @n = trim(@sub_str); insert into list(id) values(@n); set @i = @i - 1; end while; set @n = trim(@left_str); insert into list(id) values(@n); end; CALL strings_to_array('0,1,2,29,7,9,14',','); select * from list; DROP TEMPORARY TABLE IF EXISTS list;
相关文章推荐
- Mysql安装
- Windows 安装MySQL-5.7.10-winx64
- mysql连接远程数据库
- 12-mysql优化之三范式
- 关于MySQL 优化的100个的建议
- Mysql半同步复制原理及问题排查
- MySQL中的行级锁、表级锁、页级锁
- mysql导出、导入
- 在 Windows 上使用 noinstall Zip 文件安装 MySQL
- mysql数据库移植sqlserver数据库
- MySQL与IO
- mysql MHA
- mysql5.5半同步复制机制
- 11-MySQL优化8种方法
- mysql 性能优化方案 (转)
- MySQL增量备份与恢复实例
- MySQL备份命令mysqldump参数说明与示例
- MySQL 性能优化
- MYSQL 优化常用方法
- Mysql Cluster集群错误“table is full”