@string nvarchar(max),
@splitedstring nvarchar(max)
set @string='word1,word2 '
Kết quả: @splitedstring ='word1','word2'
Tạo function
CREATE FUNCTION [dbo].[StrinToStringList]
( @str nVARCHAR (MAX), 
  @delimeter nvarchar(2))
   RETURNS 
    @result TABLE (
        [ID] nvarchar(max) NULL)
AS
BEGIN
    DECLARE @x XML 
    SET @x = '<t>' + REPLACE(@str, @delimeter, '</t><t>') + '</t>'
    INSERT INTO @result
    SELECT DISTINCT x.i.value('.', 'nvarchar(max)') AS token
    FROM @x.nodes('//t') x(i)
    ORDER BY 1
RETURN
END
Tạo bảng với dữ liệu như sau
Nếu sử dụng thủ tục dưới
create procedure CompanyFilter
(
@string nvarchar(max)='aaa,bbb'
)
as
begin
select * from table where names in(@string)
end
Nó sẽ thực thi như sau
 
Trong stored procedure tham số "@string" là chuỗi duy nhất truy vấn không có tên với "aaa, bbb" lý do tại sao bảng trả về không có gì. 
Vì vậy, tái sửa đổi stored procedure như dưới đây
create procedure CompanyFilter
(
@string nvachar(max)='aaa,bbb
)
as
begin
Select * from table where names in (select id from dbo.StrinToStringList(@string,','))
end
Kết quả