Ответ от Mud работает только для первого целого в списке параметров.Это означает, что «2,1,3,4» не будет работать, например, если идентификатор равен 1.
См. FIND_IN_SET () против IN () .
Неткомментарий возможен уже сейчас, но также см. ответ от Мэтта Эллена.Редактировал бы его ответ, но не могу.Кажется, что INSTR не работает в случае WHERE с более чем одним идентификатором (возвращает только результат).
Но замена INSTR
на LOCATE
заставляет его решение работать (с String.Join(",", intArray)
в качестве добавленного параметра) ... ГОЛОСОВАТЬ ОТ меня:
LOCATE(CONCAT(',' , CAST(id AS CHAR) , ',') , CONCAT(',' , CAST(@paramter AS CHAR) , ',')) <> 0