日期:2014-05-16  浏览次数:20723 次

update 语句
表:

CREATE TABLE `avar` (
  `id` int(11) DEFAULT NULL,
  `picPath` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8


数据:

insert into `avar`(`id`,`picPath`) 
values (1,'生物介绍\r\n<br/>主页: www.awd.com \r\n<br/>工作地:上海\r\n<br/> \r\n<br/>谢绝来电来访。\r\n<br/> \r\n<br/>上海载体研发中心\r\n<br/>\r\n<br/>\r\n<br/>\r\n<br/><br/>'),
(2,'生物介绍\r\n<br/>主页: www.awd.com \r\n<br/>工作地:上海\r\n<br/> \r\n<br/>参加规范化培训,参加规范化培训。\r\n<br/> \r\n<br/>研发中心\r\n<br/>\r\n<br/>');


要求:

更新picPath字段,让这个字段末尾的<br/>去掉。
如:
<br/>上海载体研发中心
<br/>
<br/>
<br/>
<br/><br/>
更新成:
<br/>上海载体研发中心
<br/>
<br/>
<br/>
<br/><br/>
中文字后面(末尾)的<br/> 后删除。

第2条也是一样。删除末尾的<br/>。

能力有限,想半天没有想到如何处理,哪位高人帮下忙。


------解决方案--------------------
貌似没有现成的函数 自己写个函数吧 循环判断最后几个字符是不是<br/> 是就删除
------解决方案--------------------
一次性的话,就select into到文件,然后用支持正则的文本编辑器之类工具,替换掉br,然后load data, replace掉原有数据
------解决方案--------------------
SQL code
mysql> select * from avar;
+------+-----------------------------------
-------------------------------------------
| id   | picPath

+------+-----------------------------------
-------------------------------------------
|    1 | 生物介绍
<br/>主页: www.awd.com
<br/>工作地:上海
<br/>
<br/>谢绝来电来访。
<br/>
<br/>上海载体研发中心
<br/>
<br/>
<br/>
<br/><br/> |
|    2 | 生物介绍
<br/>主页: www.awd.com
<br/>工作地:上海
<br/>
<br/>参加规范化培训,参加规范化培训。
<br/>
<br/>研发中心
<br/>
<br/>          |
+------+-----------------------------------
-------------------------------------------
2 rows in set (0.13 sec)

mysql> update avar set picPath= trim('<br/>\r\n' FROM trim('<br/>' FROM picPath));
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select * from avar;
+------+------------------------------------
-------------------------------------------------------+
| id   | picPath
                                                       |
+------+------------------------------------
-------------------------------------------------------+
|    1 | 生物介绍
<br/>主页: www.awd.com
<br/>工作地:上海
<br/>
<br/>谢绝来电来访。
<br/>
<br/>上海载体研发中心
           |
|    2 | 生物介绍
<br/>主页: www.awd.com
<br/>工作地:上海
<br/>
<br/>参加规范化培训,参加规范化培训。
<br/>
<br/>研发中心
 |
+------+------------------------------------
-------------------------------------------------------+
2 rows in set (0.00 sec)

mysql>