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

MYSQL多字节截取的问题
MYSQL的字符串函数基本都是多字节安全的……差不多就是多字节当作单字节数……

所以substring也不能正常的数字节

先从数据库一表中取出,一个字符串,比如说:
'欧阳震华 18 香港电视剧演员’
截取出来放到下面这张表

CREATE TABLE `tb_a` (
  `name` CHAR(10) DEFAULT NULL,
  `age` CHAR(3) DEFAULT NULL,
  `job` CHAR(50) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=gbk

------解决方案--------------------
INSERT INTO tb_a
SELECT SUBSTRING_INDEX('欧阳震华 18 香港电视剧演员',' ',1),
SUBSTRING_INDEX(SUBSTRING_INDEX('asdfa 45 yt',' ',2),' ',-1),
SUBSTRING_INDEX('欧阳震华 18 香港电视剧演员',' ',-1) 
FROM tablename;


#****************************************#
MySQL技术及运维自动化网:www.mysqlops.com

新浪微博账号:http://weibo.com/mysqlops
#****************************************#