• If two decimal places are ok, you can just convert the string to money, then back to a string with a style of 1.

    SELECT CONVERT(varchar(24),CONVERT(money,'12345678'),1)

    returns: 12,345,678.00

    If it's important to leave the decimal part alone, it's easy to just do this to the characters to the left of the decimal point in the original string, and then replace the '.00' with the original decimal value, if any.