我想对字符串变量的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的记录。
我希望您会遇到错误。我怀疑您的代码是:
DECLARE @ActID CHAR;
SET @ActID = CONCAT(CAST(5 AS CHAR),',',CAST(15 AS CHAR));
您尚未指定@AcctID
的长度-如果是这种情况。默认值为1个字符,因此字符串中仅第一个字符。这就是为什么这样做的原因。