update 语句
表:
CREATE TABLE `avar` (
`id` int(11) DEFAULT NULL,
`picPath` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8
数据:
insert into `avar`(`id`,`picPath`)
values (1,’生物介绍rn<br/>主页: www.awd.com rn<br/>工作地:上海rn<br/> rn<br/>谢绝来电来访。rn<br/> rn<br/>上海载体研发中心rn<br/>rn<br/>rn<br/>rn<br/><br/>’),
(2,’生物介绍rn<br/>主页: www.awd.com rn<br/>工作地:上海rn<br/> rn<br/>参加规范化培训,参加规范化培训。rn<br/> rn<br/>研发中心rn<br/>rn<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/>rn' 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>