Вы можете greate функция преобразовать список в таблицу интежеров тогда используете функцию в вашем вопросе
Что-то любит
СОЗДАЙТЕ ФУНКЦИЮ [dbo]. [GET_INT_TABLE]
(
@STRINPUT VARCHAR (МАКС)
)
ВОЗВРАЩАЕТ ТАБЛИЦУ @INTTABLE
(
ЗНАЧЕНИЕ INT
)
КАК
НАЧНИТЕ
ОБЪЯВИТЕ @insertvalue varchar (32)
ОБЪЯВИТЕ @POS INT
ОБЪЯВИТЕ @NEXTPOS INT
ОБЪЯВИТЕ @VALUELEN INT
ВЫБЕРИТЕ @pos = 0, @nextpos = 1
ПОКА @nextpos > 0
НАЧНИТЕ
ВЫБЕРИТЕ @nextpos = charindex («,», @STRINPUT, @pos + 1)
ОТБОРНО @VALUELEN = СЛУЧАЙ
КОГДА @NEXTPOS > 0 ПОСЛЕ ЭТОГО
@nextpos
ЕЩЕ
len (@STRINPUT) + 1
КОНЕЦ - @pos - 1
установите @insertvalue = (подстрока (@STRINPUT, @pos + 1, @valuelen))
если IsNumeric (@insertvalue) = 1
начните
ВВЕДИТЕ @INTTABLE (ЗНАЧЕНИЕ)
ЗНАЧЕНИЯ (@insertvalue)
конец
ВЫБЕРИТЕ @pos = @nextpos
КОНЕЦ
ВОЗВРАЩЕНИЕ
КОНЕЦ
После этого в вашем, котор вопросе хранят процедуры
….
где (tbProduct.iProductid внутри (выберите значение от GET_INT_TABLE (@MYSTRING)))