mysql中where子句中的Concat

mysql中where子句中的Concat,mysql,sql,Mysql,Sql,我有一个MySQL查询,在where子句中使用concat和replace: select * from table1 where name in (concat("'",(REPLACE('name1,name2,name3', ',', "','")),"'")); 此查询不起作用。您能帮我确定问题吗?您最有可能需要替换名称周围的单引号1..: select * from table1 where `name` in (concat("'",(REPLACE("name1,name2,

我有一个MySQL查询,在where子句中使用concat和replace:

select * from table1 where name in
(concat("'",(REPLACE('name1,name2,name3', ',', "','")),"'"));

此查询不起作用。您能帮我确定问题吗?

您最有可能需要替换名称周围的单引号1..:

select * 
from table1 
where `name` in (concat("'",(REPLACE("name1,name2,name3", ",", "','")),"'"));

你到底想做什么,什么不起作用?您是否正在尝试动态生成一个集合,并将其与
name
匹配?请提供有关错误的详细信息。从字符串“name1,name2,name3”中,我希望单个字符串为“name1”,“name2”,“name3”,以便我可以在上述查询中使用它们。您的concat返回单个字符串。您需要将此字符串拆分为
。我想这个没有内置sql函数。请用预期的结果更新问题添加和一些数据以及表。我在MySQL中测试了这一点。唯一的区别是表名和列。请尝试在“name”之前和之后加上“`”(重音)。它可能是一个保留字。