sql >> Database >  >> RDS >> Sqlserver

SQL gebruikt door komma's gescheiden waarden met IN-clausule

Hier is een workaround Ik heb gevonden om te doen wat u probeert te bereiken

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

Dit haalt je door komma's gescheiden lijst op en vergelijkt deze met de id's (die worden weergegeven als ',1,' , ',2,' etc) in de tabel met LIKE



  1. SET door de gebruiker gedefinieerde variabele in mysql return null?

  2. Wanneer we gaan voor cross apply en wanneer we gaan voor inner join in SQL Server 2012

  3. Database-patchsets verkrijgen

  4. Hoe u deze 3 veelvoorkomende toegangsproblemen kunt oplossen