服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|

服务器之家 - 数据库 - Mysql - Mysql字符串字段判断是否包含某个字符串的2种方法

Mysql字符串字段判断是否包含某个字符串的2种方法

2020-04-28 14:13MYSQL教程网 Mysql

这篇文章主要介绍了Mysql字符串字段判断是否包含某个字符串的2种方法,本文使用Like和find_in_set两种方法实现,需要的朋友可以参考下

假设有个表:

 

复制代码 代码如下:

CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL);

 

初始化表,并添加些记录。 

复制代码 代码如下:

truncate table users
INSERT INTO users(user_name, emails) VALUES('小张','a@email.com,b@email.com,c@email.com');
INSERT INTO users(user_name, emails) VALUES('小王','aa@email.com,bb@email.com,cc@email.com');

  

 

Mysql 中有些字段是字符串类型的,如何查找其中包含某些字符的记录呢?

方法一:

复制代码 代码如下:

SELECT * FROM users WHERE emails like "%b@email.com%";

 

这样bb@email.com的用户也查出来了,不符合预期。

方法二:

利用mysql 字符串函数 find_in_set();

复制代码 代码如下:

SELECT * FROM users WHERE find_in_set('aa@email.com', emails);

  

 

这样是可以的,怎么理解呢?

mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。

e.g.

 

复制代码 代码如下:

mysql > SELECT find_in_set()('b','a,a,b,c,d') as test;
-> 3

延伸 · 阅读

精彩推荐
  • Mysql基于MySQL Master Slave同步配置的操作详解

    基于MySQL Master Slave同步配置的操作详解

    本篇文章是对MySQL Master Slave 同步配置进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网3492019-12-30
  • Mysql如何保护MySQL中重要数据的方法

    如何保护MySQL中重要数据的方法

    在日常的工作中,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题。如果你目前用的是MySQL,就可以使用一些方便的功能来保护系统,来大大...

    MYSQL教程网4722019-11-25
  • MysqlMySql实现跨表查询的方法详解

    MySql实现跨表查询的方法详解

    本篇文章是对MySql实现跨表查询的方法进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网1582020-01-02
  • MysqlMySQL单表多关键字模糊查询的实现方法

    MySQL单表多关键字模糊查询的实现方法

    MySQL单表多关键字模糊查询实现方法是很多人都非常想知道的一个问题,那么,究竟采用什么方法,才能实现MySQL单表多关键字模糊查询呢? ...

    mysql教程网3722019-11-15
  • MysqlMysql主键相关的sql语句集锦

    Mysql主键相关的sql语句集锦

    本文主要搜集总结了一些和mysql主键相关的sql语句,包括增加主键或者更改表的列为主键之类的sql语句,希望对大家能有所帮助 ...

    MYSQL教程网1222020-04-19
  • Mysqlmysql 将字段time按天/月/年分组

    mysql 将字段time按天/月/年分组

    表中有一个字段time,格式为Unix时间戳,现需要按照该字段统计每天的记录数并按天/月/年分组 ...

    whsnow4282020-04-14
  • Mysql自用mysql自带命令实现数据库备份还原的方法

    自用mysql自带命令实现数据库备份还原的方法

    本文章介绍了都是mysql常用的命令一些数据导入导出的命令了,只要我们撑握这些命令就可以方法快速的给我们的数据库进行备份还原了 ...

    MYSQL教程网2352019-12-02
  • MysqlSQL 优化

    SQL 优化

    (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的 SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索...

    mysql技术网2962019-10-15