 <p>You can use the following function for that, it will handle your two delimiters for spli</p> <pre><code>CREATE FUNCTION dbo.MultipleSplitStrings ( @List NVARCHAR(MAX), @Separator1 Varchar(100), @Separator2 Varchar(100) ) RETURNS TABLE AS RETURN ( SELECT Item = y.i.value('(./text())[1]', 'nvarchar(4000)') FROM ( SELECT x = CONVERT(XML, '&lt;i&gt;' + REPLACE(REPLACE(@List, ISNULL(@Separator1,''), '&lt;/i&gt;&lt;i&gt;') , ISNULL(@Separator2,''), '&lt;/i&gt;&lt;i&gt;') + '&lt;/i&gt;').query('.') ) AS a CROSS APPLY x.nodes('i') AS y(i) ); GO Select * From dbo.MultipleSplitStrings ('10:0,11:1,12:3,13:4,15:5,16:6',',',':') </code></pre> <p>Result :</p> <pre><code>item 10 0 11 1 12 3 13 4 15 5 16 6 </code></pre>