在 MySQL 中的 IN () 中使用逗号分隔的字符串

2024-04-14

如果用户定义的变量@x是一串逗号分隔的数字,例如'1,2,4',有没有办法在IN ()功能?

具体来说:

SET @x := '1,2,4';
SELECT * FROM t WHERE c IN (@x);

不选择 t 中 c 等于 1 或 2 或 4 的行。


您不能直接使用变量来执行此操作。根据您现在拥有的内容,服务器正在尝试执行select * form t where c in ('1,2,3');...鉴于您正在检查 c 是否包含给定的单个字符串,这显然不是您想要的。

您必须根据列表生成动态 SQL 才能使其正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MySQL 中的 IN () 中使用逗号分隔的字符串 的相关文章

随机推荐