Usted puede greate una función convertir la lista en una tabla de números enteros después utiliza la función en su pregunta
Algo tiene gusto
CREAR LA FUNCIÓN [dbo]. [GET_INT_TABLE]
(
@STRINPUT VARCHAR (MAX)
)
VUELVE LA TABLA DEL @INTTABLE
(
VALOR INTERNACIONAL
)
COMO
COMENZAR
DECLARAR el @insertvalue varchar (32)
DECLARAR LOS @POS INTERNACIONAL
DECLARAR LOS @NEXTPOS INTERNACIONAL
DECLARAR @VALUELEN LA INTERNACIONAL
SELECCIONAR los @pos = 0, @nextpos = 1
MIENTRAS QUE @nextpos > 0
COMENZAR
SELECCIONAR los @nextpos = el charindex (“,”, @STRINPUT, @pos + 1)
SELECTO @VALUELEN = CASO
CUANDO @NEXTPOS > 0 ENTONCES
@nextpos
len (@STRINPUT) + 1
EXTREMO - @pos - 1
fijar el @insertvalue = (subsecuencia (el @STRINPUT, @pos + 1, @valuelen))
si IsNumeric (@insertvalue) = 1
comenzar
INSERTAR EL @INTTABLE (EL VALOR)
VALORES (@insertvalue)
extremo
SELECCIONAR los @pos = los @nextpos
EXTREMO
VUELTA
EXTREMO
Entonces en su pregunta del procedimiento almacenado
….
donde (tbProduct.iProductid adentro (seleccionar el valor de GET_INT_TABLE (el @MYSTRING)))