`

Mysql查找如何判断字段是否包含某个字符串

 
阅读更多
Mysql查找如何判断字段是否包含某个字符串

有这样一个需求,在Mysql数据库字符串字段(权限)中,用户有多个不同的邮箱,分别被‘,’分开,现在要取出某个邮箱的所有成员列表。

假设有个表:

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);


这样子就可以找到email字段里包含有aa@emial.com的所有用户了

这样就能达到我们预期的效果,问题就解决了!

要注意的是:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。
分享到:
评论

相关推荐

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

    这里我们关注的是如何判断字符串字段是否包含特定的子字符串。在给定的示例中,我们有一个名为`users`的表,其中`emails`字段存储了以逗号分隔的电子邮件地址。我们将探讨两种方法来查询这些字段以检查它们是否包含...

    mysql数据库全文多库多表查找,查询所有数据库中包含指定字符的数据。

    mysql数据库全文查找,查询所有数据库中包含指定字符的数据。 一、支持功能: 1、支持所有数据库查询字符串,或者指定一个或者多个数据库查询字符串; 2、支持本地使用或者指定远程数据库地址; 3、支持命令行指定...

    mysql分割字符串

    在MySQL数据库中,有时我们需要处理存储在单一字段内的多个值,这时就涉及到字符串的分割操作。这个场景在处理如CSV格式的数据或者存储一串相关但独立的信息时尤为常见。本篇将详细介绍MySQL中的字符串分割技术及其...

    从字符串中查找字符出现次数的方法和性能对比

    但如果条件是基于字段中的子串或特定字符,则需结合字符串函数如`LENGTH`、`REPLACE`等来构建更复杂的查询语句,类似于文章中给出的`int mylen = (mysql.Length - mysql.Replace("sum", "").Length) / 3;`这样的...

    查找mysql字段中固定字符串并替换的几个方法

    本文将详细介绍在MySQL数据库中查找并替换字段中的固定字符串的几个方法,并通过具体的案例来演示如何操作。 首先,处理固定字符串的基本方法是使用MySQL的replace函数。replace函数的语法结构是replace(字段名, '...

    查找指定字符串+查找文本文件中的指定字符串

    以SQLite为例,可以使用SQL语句来遍历所有表和字段,查找包含指定字符串的数据。 1. 首先,需要包含SQLite的C++接口库,并建立数据库连接。 2. 使用SQL的`SELECT`语句配合`LIKE`或`INSTR`函数遍历所有表和列。例如...

    SQL查询包含某个字段的所有表名

    这个查询更为复杂,它查找同时包含'FID'和'FUserID'字段的表。首先,子查询找出所有包含'FUserID'的表ID,然后外部查询将这个结果集与包含'FID'的表ID进行比较,确保表同时具有这两个字段。 在实际应用中,这些...

    sql 判断字符串中是否包含数字和字母的方法

    本文将详细探讨如何使用SQL语句来判断一个字符串中是否包含数字和字母,以及相关的字符串处理技巧。 首先,我们要介绍的关键函数是`PATINDEX()`。这个函数在SQL Server中用于返回指定模式在目标字符串中首次出现的...

    Mysql字符串截取及获取指定字符串中的数据

    这些函数可以帮助你在MySQL中方便地处理和操作字符串,无论是简单的截取还是复杂的查找和提取。在实际项目中,熟练掌握这些函数能大大提高数据处理的效率。记住,每个函数都有其特定的用途,选择合适的函数取决于你...

    mysql判断字段是否存在的方法

    我们可以结合`like`操作符来查找包含特定字符串的字段: ```sql show columns from tablename like columnname; ``` 如果你想找`mid`字段,使用`show columns from table like 'mid';`。同样,如果字段存在,它...

    MySQL 基础 - 字符串函数.md

    ### MySQL基础 - 字符串函数详解 在MySQL数据库中,字符串函数是非常重要的组成部分之一,它们可以帮助我们有效地管理和操作数据中的文本部分。对于任何从事数据库管理、数据处理或数据分析的人来说,熟练掌握这些...

    Mysql通过存储过程分割字符串为数组

    在MySQL中,处理字符串时,...总结来说,通过MySQL的存储过程和内置函数,我们可以高效地处理字符串分割问题,将一个包含多个元素的字符串转化为数组形式。在实际开发中,掌握这些技巧对于数据处理和分析非常有帮助。

    mysql中向表中某字段追加字符串的方法

    在MySQL数据库中,更新表中某个字段并追加字符串是一个常见的操作,这通常涉及到`UPDATE`语句和`CONCAT`函数的使用。`CONCAT`函数用于将多个字符串拼接成一个新的字符串。例如,标题中提到的方法是更新名为`表名`的...

    在多表中查找一个表名或者字段名的 SQL 语句

    #### 查找字段名包含特定字符串的SQL语句 若你需要找到所有字段名中包含特定字符串的字段,可以执行以下查询: ```sql SELECT * FROM user_tab_cols WHERE column_name LIKE '%STH%'; ``` 这条语句的工作原理与前一...

    MySQL替换函数replace()替换指定字段中的所有字符子串为其他字符串

    MySQL中的`REPLACE()`函数是一个非常实用的字符串处理函数,它允许我们在数据库中的字段值中查找并替换特定的字符子串。这个函数在处理大量数据时尤其有用,能有效地自动化那些繁琐的文本替换任务,避免了手动操作...

    MySQL关于字符串中数字排序的问题分析

    `FIND_IN_SET()`函数可以查找字符串`str`是否在由逗号分隔的字符串列表`strlist`中。在这里,你需要提供一个完整的数字列表,这在你知道所有可能的数字时是可行的。但是,这种方法并不适用于动态的、未知范围的数字...

    Delphi结合SQL数据库使用变量查找字符串..rar

    比如,我们想查找字段`Content`中包含特定字符串`searchText`的记录,可以编写如下SQL: ```sql SELECT * FROM MyTable WHERE Content LIKE '%:searchText%' ``` 这里的`:searchText`是占位符,将在运行时被实际...

    批量替换msyql字段内容

    `REPLACE()`函数用于在字符串中简单地查找并替换指定的字符或子串,而`REGEXP_REPLACE()`是MySQL 8.0版本引入的,它支持正则表达式的替换,功能更加强大。 1. `REPLACE()`函数: - 语法:`REPLACE(str, find_...

Global site tag (gtag.js) - Google Analytics