`
lucky_god
  • 浏览: 37730 次
社区版块
存档分类
最新评论

mysql中in 做条件匹配 带逗号的字符串 数据异常解决

阅读更多
在数据库中表doctor中cancer字段存放着以逗号分隔的外键id
select cancer from doctor where id=1;

数据如下
cancer
1,2,3

我需要在表cancer_type中匹配刚刚的外键,
于是用FIND_IN_SET函数:
select * from cancer_type c where FIND_IN_SET(c.cancer_id, (select cancer from doctor where id=1) )

数据如下
cancer_idcancer_namecancer_prefix
1肺癌Lung
2结直肠癌Col
3胃癌Sto


用in来匹配却不行
select * from cancer_type where cancer_id in (select cancer from doctor where id=1)

数据如下:
cancer_idcancer_namecancer_prefix
1肺癌Lung
分享到:
评论

相关推荐

    mysql分割字符串

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

    MySql逗号拼接字符串查询的两种方法

    在MySQL中,有时候我们需要对字符串进行处理,特别是当我们要查询某个字段值是否包含在另一组逗号分隔的字符串中时。本篇文章将详细介绍两种在MySQL中实现逗号拼接字符串查询的方法。 首先,我们来看第一种方法。...

    JAVA串口助手接收数据并解析数据存入MySQL数据库中

    这可能涉及字符串分割、正则表达式匹配或者JSON/XML解析等,具体取决于数据格式。例如,如果数据是以逗号分隔值(CSV)格式,可以使用`String.split()`方法来拆分。 4. **MySQL数据库操作** 在Java中,我们可以使用...

    Mysql字符串处理函数详细介绍、总结

    MySQL中的字符串处理函数是数据库操作中非常常用的一类函数,它们可以帮助我们对字符串进行各种操作,如拼接、截取、查找、转换等。以下是对这些函数的详细说明: 1. **ASCII(char)**:返回字符串中第一个字符的...

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

    `FIND_IN_SET`是MySQL提供的一个字符串函数,用于在由逗号分隔的列表中查找指定的字符串。其语法为`FIND_IN_SET(str, strlist)`,它会返回`str`在`strlist`中的位置,如果不存在则返回0。因此,我们可以这样使用它来...

    完美解决mysql in条件语句只读取一条信息问题的2种方案

    当使用`IN (b.idlist)`作为查询条件时,MySQL可能无法正确解析字符串中的逗号分隔ID,导致只返回一条数据。然而,直接使用数字列表`IN (1,2,3,4)`则能够正常工作,这是因为MySQL能够直接处理这些数字作为列表。 ...

    MySQL将一个字段中以逗号分隔的取出来形成新的字段实现

    在MySQL数据库中,经常遇到需要处理以逗号分隔的字段值的情况,这些字段通常用于存储多值数据,比如在本例中,`related_shop_ids`字段存储了多个商店ID,用逗号分隔。本篇文章将详细讲解如何将这样的字段拆分成多个...

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

    在对数据库进行数据整理和清洗的过程中,经常会遇到需要对字符串进行查找和替换的情况。尤其是在处理包含特定标记或格式的地址数据时,将这些固定字符串替换或删除,以达到数据标准化的目的,是数据库管理员和数据...

    TXT文件数据导入到mysql数据库

    在导入到MySQL之前,我们需要分析TXT文件的结构,例如是否以特定分隔符(如逗号、制表符)分隔数据项,是否有头部行(列名),以及数据的类型(数字、字符串、日期等)。例如,一个简单的CSV(逗号分隔值)TXT文件...

    在MySQL字段中使用逗号分隔符的方法分享

    然而,MySQL提供了一个名为`FIND_IN_SET`的函数,专门用于在逗号分隔的字符串列表中查找指定的子串。这个函数大大提高了查询效率,如下所示: ```sql SELECT * FROM content WHERE FIND_IN_SET('2', tags) AND id ...

    Mysql 取字段值逗号第一个数据的查询语句

    在MySQL数据库中,有时我们需要从存储的字段值中提取出以逗号分隔的第一个数据。这种情况常见于处理列表型的数据,比如某个字段包含了多个ID,用逗号进行分隔。在这种场景下,`LEFT`函数和`LOCATE`函数就显得尤为...

    向MySQL批量导入文本文件

    这个命令将从指定路径的CSV文件中导入数据,字段由逗号分隔,字符串由双引号包围,每行数据以换行符结束。如果文件的第一行是标题,可以使用`IGNORE 1 ROWS`来跳过。 ### 使用图形化工具 如果你更喜欢使用图形化的...

    MySQL查询指定字段不是数字与逗号的sql

    总结来说,通过使用MySQL的`REGEXP`运算符和正则表达式,我们可以精确地筛选出数据集中满足特定条件的记录,无论是查找不包含特定字符的字段,还是匹配特定模式的数据。在进行数据分析、数据清洗或错误排查时,这是...

    多字段 模糊查询 不要分

    在多字段模糊查询中,查询条件可以涉及数据表的多个字段,这样可以更全面地匹配用户的需求。 在数据库管理领域,SQL提供了多种模糊查询的语法。例如,`LIKE`操作符配合通配符`%`和`_`,可以实现模糊匹配。`%`代表...

    SqlUtils工具类,Sql IN 条件拼接工具类

    `SqlUtils`的核心功能可能是提供一个方法,接收一个对象数组或集合,然后生成适当的`IN`条件字符串。下面是一个简单的例子: ```java public static String buildInClause(List<Integer> ids) { if ...

    excel导入mysql数据库实例

    表的字段应与Excel中的列对应,数据类型也要匹配(例如,数值、字符串、日期等)。 3. 导出Excel为CSV:Excel可以导出为逗号分隔值(CSV)文件,这是MySQL能识别的格式。选择“文件” -> “另存为”,然后选择CSV或...

    PHP程序设计-3期(KC016) 5.2.2删除数据拓展知识.doc

    `find_in_set()`是MySQL提供的一个字符串函数,用于在字符串中查找子串的位置。例如,假设我们有一个包含所有要删除的`bookId`的逗号分隔字符串`$bookIds`,如"1,2,3",可以编写以下PHP和SQL代码: ```php $bookIds...

    MySQL查询in操作 查询结果按in集合顺序显示

    `FIND_IN_SET`函数可以在一个逗号分隔的字符串中查找指定的元素的位置。在`ORDER BY`子句中使用它,可以按照`IN`列表的顺序进行排序。例如: ```sql SELECT * FROM test WHERE id IN (3,1,5) ORDER BY FIND_IN_...

Global site tag (gtag.js) - Google Analytics