sql >> Databasteknik >  >> RDS >> Sqlserver

SQL använder kommaseparerade värden med IN-sats

Här är en workaround Jag hittade att göra det du försöker uppnå

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

Detta får din kommaavgränsade lista och jämför den med id:n (som representeras så här ',1,' , ',2,' etc) i tabellen med LIKE



  1. Asynkront anrop av en SQL Server lagrad procedur i C#

  2. Fråga element i en kapslad array av ett json-objekt i postgresql 9.4 eller 9.5

  3. Hur man konverterar rader till kolumner i Oracle-tabellen

  4. Hur överför man mysql-tabellen till hive?