MySQL字符串函数:按关键字截取字符串 substring_index()

今天一位网友向我提出这样一个疑问:

相信大家都知道,mysql有一个字符串函数locate(),但是,经过多次验证,这个方法并不能精准查找;比如:[email protected]

那么,找出来的必定是很多有类似的数据,例如:[email protected][email protected][email protected]等。

那么,现在我这个业务场景是这样的:如何根据第一个符号前的数据进行精准的全字匹配,而不会出现类似模糊查询的效果?

 

解决方法

mysql有一个字符串函数可以完美解决我的需求场景,只需要使用该函数SUBSTRING_INDEX()进行制定符号切割,切割后的数值跟我们目标值进行相等比较,即可得出精准查找的结果。

 

语法:

substring_index(str,delim,count)

 

说明:

str:被截取字段

delim:关键字

count:关键字出现的次数

 

str在count出现分隔符 之前 从字符串返回子字符串 delim。如果 count为正,则返回最终分隔符左侧的所有内容(从左侧开始计算)。如果count是否定的,则返回最终分隔符右侧的所有内容(从右侧开始计算)。 SUBSTRING_INDEX()搜索时执行区分大小写的匹配 delim。

 

示例:

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

注:

此功能是多字节安全的。

如果关键字出现的次数是负数,例如-2,则是从后倒数,到字符串结束。

    A+
发布日期:2019年02月01日 19:27:25  所属分类:mysql函数
最后更新时间:2019-02-01 19:27:25
评分: (3 票;平均数5.00 ;最高评分 5 ;用户总数3;总得分 15;百分比100.00)
付杰
服务器管理面板/主机控制面板“安装”服务
服务器管理面板/主机控制面板“安装”服务
  • ¥ 9.9元
  • 市场价:49.9元
wordpress站群服务 泛解析二级域名 二级目录站群
wordpress站群服务 泛解析二级域名 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元
免费SSL证书服务 HTTPS申请 安装 配置 支持通配符*
免费SSL证书服务 HTTPS申请 安装 配置 支持通配符*
  • ¥ 199.9元
  • 市场价:20000元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

 

目前评论:6   其中:访客  4   博主  2

  1. wordpress建站吧 1

    这还是比较常用的函数

  2. 创业路上 1

    我定期回访来了

  3. 常州厂房出租 1

    博主好久没有更新了哈

  4. 常州厂房出租 1

    很专业的数据库文章啊