列上的 FIND_IN_SET?有道理吗?

问题描述 投票:0回答:1

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

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

为什么不:

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

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

mysql where-clause find-in-set
1个回答
3
投票

FIND_IN_SET
通常以相反的方式使用:在作为参数传递的逗号分隔列表中查找值。通常不建议在数据库中将值存储为逗号分隔的列表。:

select * 
FROM `table` 
WHERE FIND_IN_SET(`column`, '1,2,3,4,5');
© www.soinside.com 2019 - 2024. All rights reserved.