write a UDF to do it.
declare @string varchar(20) = 'abcdefghijklmnopqrstuvwxyz',
@sepratorpos varchar(10) = '4,6,15'
declare @newstr varchar(100)
select @newstr = isnull(@newstr, '') + ch
from
(
select v.number, ch = substring(@string, v.number, 1)
from master.dbo.spt_values v
where v.type = 'P'
and v.number between 1 and len(@string)
union all
select numberval, '-'
from dbo.CSVTable(@sepratorpos)
) a
order by number, ch
select @newstr
CSVTable is from http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=25830&SearchTerms=CSVTable
KH
Time is always against us