首页 > 解决方案 > FIND_IN_SET 列?是否有意义?

问题描述

我偶然发现了一个奇怪的表情,这对我来说根本没有意义。

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

为什么不:

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

我认为 FIND_IN_SET 用于在逗号分隔的字符串列表中查找字符串。在某些情况下,我可以从“FIND_IN_SET”列表达式而不是简单的 WHERE 中受益吗?

标签: mysqlwherefind-in-set

解决方案


FIND_IN_SET通常以其他方式使用:从逗号分隔的参数列表中查找列值作为将值存储在数据库中的逗号分隔列表通常不是一个好主意:

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

推荐阅读