sql >> Databasteknik >  >> RDS >> Sqlserver

Är det möjligt att använda frågeparametrar för att fylla i nyckelordet IN

Du kan skicka listan med GUID:er som en kommaseparerad strängparameter och använda en tabellvärderad UDF för att dela upp dem i en tabell att använda i din IN klausul:

SELECT *
FROM my_table
WHERE id IN (SELECT id FROM dbo.SplitCSVToTable(@MyCSVParam))

Erland Sommarskog har en intressant artikel med exempel på hur man delar upp kommaseparerade strängar i tabeller med hjälp av en UDF.

(Av prestationsskäl bör du se till att din UDF är inline-tabellvärderad i stället för flera påståenden.)




  1. Php pdo infoga fråga

  2. Hur anger jag "dagens början" i en specifik tidszon?

  3. In-memory-tabell i PostgreSQL

  4. ogiltigt namnmönster när man försöker skicka anpassad objektmappning av orakeltyp