使用截取sql为:
UPDATE table1,table2 SET table1.description=left(trim(strip_tags(table2.content),180)) where table1.id= table2.id
用到以下函数和自定义strip_tags函数
1、从左开始截取字符串
left(str, length)
说明:left(被截取字段,截取长度)
例:select left(content,200) as abstract from my_content_t
2、从右开始截取字符串
right(str, length)
说明:right(被截取字段,截取长度)
例:select right(content,200) as abstract from my_content_t
3、截取字符串
substring(str, pos)
substring(str, pos, length)
4、trim//左右去空格
5、除去换行符
UPDATE table1 SET description=REPLACE(description,CHAR(13),”);
UPDATE table1 SET description=REPLACE(description,CHAR(10),”);
6、自定义函数用个新版的phpmyadmin添加就可以了,免去用命令行的麻烦。
选择某个数据库然后,点上面的程序-> 添加程序,函数名strip_tags,变量$str,类型和返回值都是text,定义就复制下面红色部分。
CREATE FUNCTION `strip_tags`($str text) RETURNS text
BEGIN
DECLARE $start,$end INT DEFAULT 1;
LOOP
SET $start = LOCATE(“<“, $str, $start);
IF (!$start) THEN RETURN $str; END IF;
SET $end = LOCATE(“>”, $str, $start);
IF (!$end) THEN SET $end = $start; END IF;
SET $str = INSERT($str, $start, $end – $start + 1, “”);
END LOOP;
END;