mysql处理字符串的两个绝招:substring_index,concat

mysql处理字符串的两个绝招:substring_index,concat
  最近老是碰到要处理数据库中字符串的处理,发现用来用去也就是这两个函数:
  1、substring_index(str,delim,count)
   str:要处理的字符串
   delim:分隔符
   count:计数
  例子:str=
  substring_index(str,'.',1)
  结果是:www
  substring_index(str,'.',2)
  结果是:www.google
  也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
  相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:
  substring_index(str,'.',-2)
  结果为:google.com
  有人会为,如果我呀中间的的google怎么办?
  很简单的,两个方向:
  1、从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:
  substring_index(substring_index(str,'.',-2),‘.’,1);
  2、你懂得!
  2,concat是连接几个字符串,可以多个哦。
  concat('wo','lin','xue','bin')
  结果就是wolinxuebin

转自:http://www.educity.cn/wenda/401026.html

//mysq进行字符串的分割函数

CREATE PROCEDURE test_SplitString(IN str LONGTEXT,IN delimiter varchar(5))
BEGIN
declare cnt int default 0;
declare i int default 0;
declare item VARCHAR(500);


set cnt = 1 + (length(str) - length(replace(str,delimiter,'')));

DROP TABLE IF EXISTS tmp_split_ss;

create temporary table tmp_split_ss(
val varchar(128) not null
) DEFAULT CHARSET=utf8;

while i < cnt do
set i = i + 1;
set item=reverse(substring_index(reverse(substring_index(str,delimiter,i)),delimiter,1));
SELECT item;
insert into tmp_split_ss(val) values (item);
end while;
END
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值