this should work I think up to 1000000000
SELECT yourfield,len(yourfield),
(CASE
when len(yourfield) = 5 then left(yourfield,2) + ',' + right(yourfield,3)
when len(yourfield) = 6 then left(yourfield,3) + ',' + right(yourfield,3)
when len(yourfield) = 7 then left(yourfield,1) + ',' + substring(convert(varchar,yourfield),2,3) + ',' + right(yourfield,3)
when len(yourfield) = 8 then left(yourfield,2) + ',' + substring(convert(varchar,yourfield),3,3) + ',' + right(yourfield,3)
when len(yourfield) = 9 then left(yourfield,3) + ',' + substring(convert(varchar,yourfield),4,3) + ',' + right(yourfield,3)
when len(yourfield) = 10 then left(yourfield,1) + ',' + substring(convert(varchar,yourfield),2,3) + ',' + substring(convert(varchar,yourfield),5,3) + ',' + right(yourfield,3)
else convert(varchar,yourfield)
end)
FROM yourtable
Matt
Brighton, UK