Du kunne prøve noget lignende
--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 enten gemme dette i en midlertidig tabel eller bruge det i IN-klausulen.
Til @Hoy kommentar
Du kan se på nodes() Method (xml Data Type)
Tag også et kig på xml-datatypemetoder
Du kan derefter bruge det som
select *
FROM sales
where myCategory IN (
SELECT T.split.value('.', 'nvarchar(max)')
FROM @textXML.nodes('/d') T(split)
)