美文网首页MySQL技术干货
一行实现MySQL的split函数,不用正则

一行实现MySQL的split函数,不用正则

作者: 李文文丶 | 来源:发表于2017-09-21 11:44 被阅读788次

    找了半天,发现网上都没有,各种用正则以及函数实现的,感觉麻烦,就去官网查看,发现了一个高手的评论,给大家爽一爽:

    select SUBSTRING_INDEX('name=liwenguang&psw=xxx&src=www.liwengaung.cn','&', 1)
    
    select SUBSTRING_INDEX(SUBSTRING_INDEX('name=liwenguang&psw=xxx&src=www.liwengaung.cn' , '&', 2 ),'&', -1)
    
    select SUBSTRING_INDEX('name=liwenguang&psw=xxx&src=www.liwengaung.cn','&', -1)
    

    这样你可以直接用上了,主要用于将原始表转化为业务表,方便业务调用,下面的是原文,ip地址应该是 xx.oo.pp.zz 格式:

    SELECT
    `ip` , 
    SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
    SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b, 
    SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
    SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
    FROM log_table
    

    原文来自于:https://dev.mysql.com/doc/refman/5.7/en/string-functions.html 下的评论

    相关文章

      网友评论

        本文标题:一行实现MySQL的split函数,不用正则

        本文链接:https://www.haomeiwen.com/subject/dhezsxtx.html