`
hope598
  • 浏览: 65556 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分割字符串并插入表---mysql

    博客分类:
  • sql
阅读更多

      需求:有一串数字构成的字符串,并且各数字间由;隔开,如:'aaa;bbb;ccc;ddd;eee',现要把字符串以;为分隔符分割成5个单独的字符串并插入到数据表对应字段中。

 

      解决办法如下:

 

mysql> set @a="aaa;bbb;ccc;ddd;eee";
Query OK, 0 rows affected

mysql> set @b=concat("insert into test values('",replace(@a,";","'),('"),"')");
Query OK, 0 rows affected

mysql> select @b;
+--------------------------------------------------------+
| @b                                                     |
+--------------------------------------------------------+
| insert into test values('aaa'),('bbb'),('ccc'),('ddd'),('eee') |
+--------------------------------------------------------+
1 row in set

mysql> 

 

然后再prepare,execute...(可用存储过程)。

 

ps:解释下这句话

mysql> set @b=concat("insert into test values('",replace(@a,";","'),('"),"')");

 concat里面实际是由三个字符串连接起来的:

“insert into test values‘”,replace(@a,“;”,“’),(‘”和“’)”。

其中replace(@a,“;”,“’)会提前执行替换操作,结果是:aaa’),(‘bbb’),(‘ccc’),(‘ddd’),(‘eee

 

没测过字符串足够长时执行速度怎样,希望对大家有用~

0
0
分享到:
评论
2 楼 hope598 2009-10-25  
wenxiang_tune 写道
| insert into test values('aaa'),('bbb'),('ccc'),('ddd','eee') | 注意看有错啊!!('ddd','eee') 并没有拆分开!写错了??

谢谢提醒啊,已经解决了
1 楼 wenxiang_tune 2009-10-25  
| insert into test values('aaa'),('bbb'),('ccc'),('ddd','eee') | 注意看有错啊!!('ddd','eee') 并没有拆分开!写错了??

相关推荐

    MySQL按指定字符合并以及拆分实例教程

    按照指定字符进行合并或拆分是经常碰到的场景,MySQL在合并的写法上比较简单,但是按指定字符拆分相对比较麻烦一点(也就是要多写一些字符)。本文将举例演示如何进行按照指定字符合并及拆分。 1、 合并 MySQL数据库...

    PHP和MySQL Web开发第4版pdf以及源码

    4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() ...

    PHP和MySQL WEB开发(第4版)

    4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2...

    PHP和MySQL Web开发第4版

    4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() ...

    PHP程序开发范例宝典III

    术、SQL查询相关技术、MySQL高级应用技术、字符串的处理技术、PHP面向对象编程技术、文件管理、图像和多媒体技术、信息提取与图表分析 技术、报表与打印技术、网络通信技术、PHP与XML技术、安全技术、PHP高级应用...

    批量sql解析为数组-易语言

    其次"分割文本", 你可能会遇到这样以下这样的情况, 也就是sql字符串中出现了";", 你能怎么办? 你也很绝望对吧? INSERT INTO `User`(name) values('剑''齿;虎');SELECT LAST_INSERT_ID(); 以上问题还有, 字符串中包含...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例087 分割、合成字符串 121 实例088 查询关键字描红 122 实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例087 分割、合成字符串 121 实例088 查询关键字描红 122 实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例...

    易语言-易语言批量sql解析为数组, SQL终结符解析

    其次"分割文本", 你可能会遇到这样以下这样的情况, 也就是sql字符串中出现了";", 你能怎么办? 你也很绝望对吧? 复制代码 [font=微软雅黑]INSERT INTO `User`(name) values('剑''齿;虎'); SELECT LAST_INSERT_ID();...

    给Oracle添加split和splitstr函数的方法

    最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处理。 以往的处理方式有如下几种: 1、在存储过程内写循环,逐个分析字符串中的ID,然后...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例074 将字符串的每个字符进行倒序输出 94 实例075 获取字符串中汉字的个数 94 实例076 批量替换某一类字符串 95 实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 ...

    php网络开发完全手册

    7.5.7 用正则表达式进行字符串分割 7.5.7 ——preg_split 115 7.6 字符操作的注意事项 117 7.7 小结 118 第8章 数组操作与数据结构算法 119 8.1 一维数组与多维数组 119 8.1.1 一维数组简介 119 8.1.2 多维数组简介 ...

    PHP开发实战1200例源码

    实例087 分割、合成字符串 121 实例088 查询关键字描红 122 实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例...

    PHP3程序设计

    3.4.7 字符串连接操作符 38 3.4.8 逻辑操作符 38 3.4.9 赋值操作符 40 3.5 总结 41 第4章 程序控制 43 4.1 表达式 43 4.1.1 简单表达式 43 4.1.2 有副作用的简单表达式 43 4.1.3 复杂表达式 44 4.2 语句 44 4.3 函数...

    R语言经典实例(中+英)

     7.4 根据分隔符分割字符串 176  7.5 替代子串 178  7.6 查看字符串中的特殊字符 179  7.7 生成字符串的所有成对组合 179  7.8 得到当前日期 181  7.9 转换字符串为日期 181  7.10 转换日期为字符串 182  ...

Global site tag (gtag.js) - Google Analytics