Sie könnten so etwas versuchen wie
--Split
DECLARE @textXML XML
DECLARE @data NVARCHAR(MAX),
@delimiter NVARCHAR(5)
SELECT @data = 'Main Stream , Premium',
@delimiter = ','
SELECT @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML)
SELECT T.split.value('.', 'nvarchar(max)') AS data
FROM @textXML.nodes('/d') T(split)
Sie können dies entweder in einer temporären Tabelle speichern oder in der IN-Klausel verwenden.
Für @Hoy Kommentar
Sie können sich die nodes()-Methode (xml-Datentyp) ansehen
Sehen Sie sich auch xml-Datentypmethoden an
Sie könnten es dann als
verwendenselect *
FROM sales
where myCategory IN (
SELECT T.split.value('.', 'nvarchar(max)')
FROM @textXML.nodes('/d') T(split)
)