MySQL,Concat int并保存到veriable并使用带'IN'或'NOT IN'的变量

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

我想对字符串变量的ID列中的值进行CONCAT,并在SQL中将变量与IN一起使用,如下所示:

SET @ActID = CONCAT(CAST(5 AS CHAR),',',CAST(15 AS CHAR));

SELECT * FROM `accounts` WHERE `ID` IN (@ActID);

它返回ID = 5的记录,而忽略ID = 15的记录。

sql mysqli concat
1个回答
0
投票

我希望您会遇到错误。我怀疑您的代码是:

DECLARE @ActID CHAR;
SET @ActID = CONCAT(CAST(5 AS CHAR),',',CAST(15 AS CHAR));

您尚未指定@AcctID的长度-如果是这种情况。默认值为1个字符,因此字符串中仅第一个字符。这就是为什么这样做的原因。

© www.soinside.com 2019 - 2024. All rights reserved.