• You can use a Tally table and CROSS APPLY to scan your text and split for your delimiter.

    DECLARE @t TABLE (col1 varchar(10), col2 varchar(30));

    INSERT INTO @t

    SELECT 'a1', '1:3:5:6'

    UNION ALL SELECT 'a2', '2:4:5';

    ; WITH t1 (col1, col2) AS

    (

    SELECT

    col1,

    ':' + col2 + ':'

    FROM @t

    )

    SELECT

    t1.col1,

    t2.Item

    FROM t1

    CROSS APPLY

    (

    SELECT

    SUBSTRING(t1.col2, N + 1, CHARINDEX(':', t1.col2, N + 1) - N - 1) Item

    FROM Tally

    WHERE N < LEN(t1.col2)

    AND SUBSTRING(t1.col2, N, 1) = ':'

    ) t2;

    If you don't know a Table or how to work with please search this site. You will find a really good article published by Jeff Moden which explains the Tally table and how to use it for requirements like this.

    Flo