Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL utilise des valeurs séparées par des virgules avec la clause IN

Voici une workaround J'ai trouvé pour faire ce que vous essayez de réaliser

CREATE Procedure [dbo].[sp_getUserRoles](
   @pGroupIDs varchar(50)
    )
     As
    BEGIN
        SELECT * FROM CheckList_Groups Where (',' + @pGroupIDs +',' LIKE '%,' + CONVERT(VARCHAR, id) + ',%')
   End

Cela obtient votre liste délimitée par des virgules et la compare aux identifiants (qui sont représentés comme suit :',1,' , ',2,' etc) dans le tableau en utilisant LIKE