Du kan prova något liknande
--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)
Du kan antingen lagra detta i en temporär tabell eller använda det i IN-satsen.
För @Hoy kommentar
Du kan titta på nodes() Method (xml Data Type)
Ta också en titt på xml Data Type Methods
Du kan sedan använda den som
select *
FROM sales
where myCategory IN (
SELECT T.split.value('.', 'nvarchar(max)')
FROM @textXML.nodes('/d') T(split)
)