如何拆分一个字符串 比如一张表有两个列,一个id,一个actionid中会出现多个id比如 1045,2046,2563, 以逗号分割请问如何拆分它成为3行,即id action1045 ...2046 ...2563 ... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 搜索数据中数据得到一个数组$id[],用explode(",",$id[])拆开。 用substring_index吧:取第一个:substring_index(id,',',1)取最后个:substring_index(id,',',1)取第n个:substring_index(substring_index(id,',',n),',',-1) 呵呵刚写的有点错误,取最后一个语句应该是substring_index(id,',',-1) SUBSTRING(str FROM pos) 从字符串str的起始位置pos返回一个子串。 mysql> select SUBSTRING(Quadratically,5); -> ratically mysql> select SUBSTRING(foobarbar FROM 4); -> barbar 该函数是多字节可靠的。 SUBSTRING_INDEX(str,delim,count) 返回从字符串str的第count个出现的分隔符delim之后的子串。如果count是正数,返回最后的分隔符到左边(从左边数) 的所有字符。如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。 mysql> select SUBSTRING_INDEX(www.mysql.com, ., 2); -> www.mysql mysql> select SUBSTRING_INDEX(www.mysql.com, ., -2); -> mysql.com 该函数对多字节是可靠的。 Undefine reference to 'my_progname' mysql查询缓存命中总是0 查询-插入问题。如何保证数据完整性? MySQL多机同步 MySql中自增长列的特殊设置 一条简单的SQL语句出错 查询问题 MySQL在 WIN2K 下的连接问题? mysql 实现排名的sql语句问题 【小白求解】MySQL登陆提示 ERROR 1045 (28000)? 存储过程中默认值问题处理 有关mysql数据同步问题,各位请进!!!
取第一个:
substring_index(id,',',1)
取最后个:
substring_index(id,',',1)
取第n个:
substring_index(substring_index(id,',',n),',',-1)
substring_index(id,',',-1)
从字符串str的起始位置pos返回一个子串。
mysql> select SUBSTRING(Quadratically,5);
-> ratically
mysql> select SUBSTRING(foobarbar FROM 4);
-> barbar 该函数是多字节可靠的。 SUBSTRING_INDEX(str,delim,count)
返回从字符串str的第count个出现的分隔符delim之后的子串。如果count是正数,返回最后的分隔符到左边(从左边数) 的所有字符。如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。
mysql> select SUBSTRING_INDEX(www.mysql.com, ., 2);
-> www.mysql
mysql> select SUBSTRING_INDEX(www.mysql.com, ., -2);
-> mysql.com 该函数对多字节是可靠的。