Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL utilizza valori separati da virgole con la clausola IN

Ecco una workaround Ho scoperto di fare ciò che stai cercando di ottenere

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

Questo ottiene il tuo elenco delimitato da virgole e lo confronta con gli ID (che sono rappresentati in questo modo ',1,' , ',2,' ecc) nella tabella usando LIKE