La cadena '15,16,17,18,19,20,21,22' no es un conjunto de numeros, sino una cadena..
Para obtener un conjunto de numeros debes crear y utilizar una funcion que implica CLR o TSQL que haga SPLIT.
Sin embargo hay otra solucion mas simple y eficiente:
Código SQL:
Ver originalSELECT *
FROM MiTabla
WHERE ','+@MiCadena+',' LIKE '%,'+CAST(ID AS VARCHAR)+',%';