MySQL 查询,用于在自定义变量中以逗号分隔的数值集中找出某个值


为此,在 MySQL 中使用 FIND_IN_SET(),并使用自定义变量中的值。我们首先创建一个 −

mysql> create table DemoTable1411
   -> (
   -> Value int
   -> )
   -> ;
Query OK, 0 rows affected (0.50 sec)

使用插入在表中插入一些记录 −

mysql> insert into DemoTable1411 values(10);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1411 values(50);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1411 values(60);
Query OK, 1 row affected (0.08 sec)

使用选择从表中显示所有记录 −

mysql> select * from DemoTable1411;

这将产生以下输出 −

+-------+
| Value |
+-------+
|    10 |
|    50 |
|    60 |
+-------+
3 rows in set (0.00 sec)

下面是查询,用于在其他值集中找出某个值。在此,我们首先设置了一个自定义变量,该变量用于 FIND_IN_SET() 方法 −

mysql> set @setOfValues:='70,50,100';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from DemoTable1411
   -> where find_in_set(Value,@setOfValues);

这将产生以下输出 −

+-------+
| Value |
+-------+
|    50 |
+-------+
1 row in set (0.00 sec)

更新于:12-Nov-2019

188 次浏览

开启你的事业

完成课程以获得认证

入门
广告