定义

SUBSTRING_INDEX - 按分隔符截取字符串

语法

SUBSTRING_INDEX(str, delimiter, count)

返回一个 str 的子字符串,在 delimiter 出现 count 次的位置截取。

如果 count > 0,从则左边数起,且返回位置前的子串;

如果 count < 0,从则右边数起,且返回位置后的子串。

delimiter 是大小写敏感,且是多字节安全的。

示例

MySQL> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);

-> 'www.mysql'

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);

-> 'mysql.com'

总结

这个函数很实用,PHP中都没有类似的函数,

比如取一个以斜线分割的图片路径的名称,201807/20180731181759_5b603757ea5e4.jpg,这个函数可以一步到位,PHP中则需要explode成数组,然后取最后一个元素。

美中不足的是,我感觉可以再设置个可选参数,就是返回的时候是否保留分隔符,这个当然通过concat连接,但如果能直接返回就更好了。

0b1331709591d260c1c78e86d0c51c18.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐