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

SQL bruger kommaseparerede værdier med IN-sætning

Her er en workaround Jeg fandt ud af at gøre det, du forsøger at opnå

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

Dette får din kommaseparerede liste og sammenligner den med id'erne (som er repræsenteret sådan ',1,' , ',2,' osv.) i tabellen ved hjælp af LIKE



  1. Sådan sender du brugerdefineret tabeltype som lagret procedure-parameter i C#

  2. Udførelse af rekursive lagrede procedurer i MYSQL for at få hierarkiske data

  3. Hvordan håndterer man MySQL's udenlandske nøglefejl i Php?

  4. Har du brug for hjælp til at oprette en forespørgsel i SQL?