• A little dynamic SQL with a string of 100 digits as input:

    declare @val varchar(100) =

    '20876543914578560430730723092317208765439145785604'+

    '3073072309231720876543914578560430730723092317208'

    declare @cmd varchar(300)

    set @cmd = 'select [Sum] = '+

    reverse(substring(reverse(replace(replace(replace(

    replace(replace(replace(replace(replace(replace(replace(

    convert(varchar(300),@val),'9','9+'),'8','8+'),'7','7+'),'6','6+')

    ,'5','5+'),'4','4+'),'3','3+'),'2','2+'),'1','1+'),'0','0+')),2,300))

    print '@val = '+@val

    print '@cmd = '+@cmd

    exec (@cmd)

    Results:

    @val = 208765439145785604307307230923172087654391457856043073072309231720876543914578560430730723092317208

    @cmd = select [Sum] = 2+0+8+7+6+5+4+3+9+1+4+5+7+8+5+6+0+4+3+0+7+3+0+7+2+3+0+9+2+3+1+7+2+0+8+7+6+5+4+3+9+1+4+5+7+8+5+6+0+4+3+0+7+3+0+7+2+3+0+9+2+3+1+7+2+0+8+7+6+5+4+3+9+1+4+5+7+8+5+6+0+4+3+0+7+3+0+7+2+3+0+9+2+3+1+7+2+0+8

    Sum

    -----------

    403

    (1 row(s) affected)