MySQL查询以获取与数组匹配的特定记录(以逗号分隔的值)

要从逗号分隔的值中获取记录,请使用MySQL FIND_IN_SET()。让我们首先创建一个表-

mysql> create table DemoTable1548

   -> (

   -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,

   -> StudentName varchar(20),

   -> ArrayListOfMarks varchar(100)

   -> );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable1548(StudentName,ArrayListOfMarks) values('Chris','56,78,90,87');

mysql> insert into DemoTable1548(StudentName,ArrayListOfMarks) values('Bob','90,78,65');

mysql> insert into DemoTable1548(StudentName,ArrayListOfMarks) values('David','91,34,56,78,87');

使用select语句显示表中的所有记录-

mysql> select * from DemoTable1548;

这将产生以下输出-

+-----------+-------------+------------------+

| StudentId | StudentName | ArrayListOfMarks |

+-----------+-------------+------------------+

|         1 | Chris       |    56,78,90,87   |

|         2 | Bob         |       90,78,65   |

|         3 | David       | 91,34,56,78,87   |

+-----------+-------------+------------------+

3 rows in set (0.00 sec)

这是从逗号分隔值中提取匹配的特定记录的查询-

mysql> select * from DemoTable1548 where find_in_set('87',ArrayListOfMarks);

这将产生以下输出-

+-----------+-------------+------------------+

| StudentId | StudentName | ArrayListOfMarks |

+-----------+-------------+------------------+

|         1 | Chris       |    56,78,90,87   |

|         3 | David       | 91,34,56,78,87   |

+-----------+-------------+------------------+

2 rows in set (0.00 sec)

以上是 MySQL查询以获取与数组匹配的特定记录(以逗号分隔的值) 的全部内容, 来源链接: utcz.com/z/331403.html

回到顶部