Bạn có thể thử một cái gì đó như
--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)
Bạn có thể lưu trữ nó trong một bảng tạm thời hoặc sử dụng nó trong mệnh đề IN.
Đối với nhận xét của @Hoy
Bạn có thể xem xét Phương thức node () (Kiểu dữ liệu xml)
Ngoài ra, hãy xem Phương pháp loại dữ liệu xml
Sau đó, bạn có thể sử dụng nó làm
select *
FROM sales
where myCategory IN (
SELECT T.split.value('.', 'nvarchar(max)')
FROM @textXML.nodes('/d') T(split)
)