收藏本页|设为主页|RSS
LOGO

我就上乐乐吧

Mysql语句实现php函数explode()的分割字符串功能技术杂萃 苦逼码农的点点滴滴,请多多指教!我就上乐乐吧资源的世界,资源的海洋,收集各类资源,以无LOGO原汁原味为主!欢迎大家交流。智者乐山,仁者乐水,独乐乐,不如众乐乐,乐山,乐水,乐...

您当前的位置:首页»技术杂萃
全站公告
重要提示!

本站收集各类美图,以无LOGO原汁原味图为主!欢迎大家交流。
怕失联,请认准如下地址:
微博:http://weibo.com/237h
微信:SuperBeautylove
轻博客:http://www593668com.lofter.com/
花瓣:http://huaban.com/sinsunson
Q群1:231151757
Q群2:583138281
网站:http://www.593668.com
文件解压密码:593668.com
热心赞助

站内搜索
 
相关文章
热门文章
热搜词组
文章归档
友情链接
    Mysql语句实现php函数explode()的分割字符串功能

    发布日期:2019-10-10  关键词:MySQL

    PHP里面有个函数,explode(),该函数功能是用指定分隔符来把字符串分割成数组,使用起来可以说是相当好用,但是MySQL并没有对应的函数可以来支持,所以就得自行来想办法实现。

    在这之前要了解下Mysql的一个系统函数:

    SUBSTRING_INDEX(str,delim,count)

    该函数返回字符串str中在第count个出现的分隔符delim之前的子串。如果count是一个正数,那么就返回从最后的(从左边开始计数)分隔符到左边所有字符。如果count 是负数,返回从最后的(从右边开始计数)分隔符到右边所有字符。

    现在就来尝试直接使用该函数来分解www.593668.com[以.做为分割符],SQL如下:

    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('www.593668.com', '.', 1),'.',-1) AS n1,SUBSTRING_INDEX(SUBSTRING_INDEX('www.593668.com', '.',2),'.',-1) AS n2,SUBSTRING_INDEX(SUBSTRING_INDEX('www.593668.com', '.', 3),'.',-1) AS n3

    执行结果确实证明分解成功,但是问题又来了,针对不确定的字符串,肯定要先判断字符串会分割成多少条记录[这里是使用.来分割,所以取巧办法是字符串先替换.再来跟原始字符串长度比较]。

    SELECT LENGTH('www.593668.com') - LENGTH(REPLace('www.593668.com', '.', '')) + 1

    再来借助于mysql.`help_topic`表的自增系列ID,组合一个,形成一个更复杂的SQL:

    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('www.593668.com','.',help_topic_id + 1),'.',- 1)
    FROM mysql.`help_topic`
    WHERE help_topic_id < (SELECT LENGTH('www.593668.com') - LENGTH(REPLace('www.593668.com', '.', '')) + 1)

    执行结果如下:

    Mysql语句实现php函数explode()的分割字符串功能,MySQL,技术杂萃

    这样就可以随意分割任意字符串了。大家有兴趣的话,不妨一试,体会下这个。
    猜您喜欢:
    Q群:231151757微信:superimagelove官网:www.593668.com