在列上的\集中查找\吗?有道理吗?

7ivaypg9  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(492)

我无意中发现了一个奇怪的表情,这对我来说毫无意义。

SELECT * FROM `table` WHERE FIND_IN_SET('string', `column`);

为什么不:

SELECT * FROM `table` WHERE `column`='string';

我认为find\ in\ u set用于在逗号分隔的字符串列表中查找字符串。在某些情况下,我是否可以从“find\ in\ set”列表达式而不是简单的where表达式中获益?

wdebmtf2

wdebmtf21#

FIND_IN_SET 通常使用另一种方法:从逗号分隔的参数列表中查找列值,因为在数据库中以逗号分隔的列表形式存储值通常不是一个好主意:

select * 
FROM `table` 
WHERE FIND_IN_SET(`column`, '1,2,3,4,5');

相关问题