Vous pouvez essayer quelque chose comme
--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)
Vous pouvez soit stocker ceci dans une table temporaire, soit l'utiliser dans la clause IN.
Pour @Hoy commentaire
Vous pouvez regarder méthode nodes() (type de données xml)
Consultez également les méthodes de type de données xml
Vous pouvez ensuite l'utiliser comme
select *
FROM sales
where myCategory IN (
SELECT T.split.value('.', 'nvarchar(max)')
FROM @textXML.nodes('/d') T(split)
)