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

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

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 下的评论

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容