Vous pouvez greate une fonction convertir la liste en table des nombres entiers puis employez la fonction dans votre question
Quelque chose aiment
CRÉER LA FONCTION [dbo]. [GET_INT_TABLE]
(
@STRINPUT VARCHAR (MAX)
)
RENVOIE LA TABLE DE @INTTABLE
(
VALEUR INTERNATIONAL
)
AS
COMMENCER
DÉCLARER le @insertvalue varchar (32)
DÉCLARER LES @POS INTERNATIONAL
DÉCLARER LES @NEXTPOS INTERNATIONAL
DÉCLARER @VALUELEN L'INTERNATIONAL
CHOISIR les @pos = 0, @nextpos = 1
TANDIS QUE @nextpos > 0
COMMENCER
CHOISIR les @nextpos = le charindex (« , », @STRINPUT, @pos + 1)
CHOISI @VALUELEN = CAS
QUAND @NEXTPOS > 0 PUIS
@nextpos
AUTREMENT
len (@STRINPUT) + 1
EXTRÉMITÉ - @pos - 1
placer le @insertvalue = (sous-chaîne (le @STRINPUT, @pos + 1, @valuelen))
s'IsNumeric (@insertvalue) = 1
commencer
INSÉRER LE @INTTABLE (LA VALEUR)
VALEURS (@insertvalue)
extrémité
CHOISIR les @pos = les @nextpos
EXTRÉMITÉ
RETOUR
EXTRÉMITÉ
Alors dans votre question de procédé stocké
….
là où (tbProduct.iProductid dedans (choisir la valeur à partir de GET_INT_TABLE (le @MYSTRING)))