create table tbl (
ID int,
NumList VARCHAR(100));
insert tbl select
1, '2,4,25' union all select
2, '2,12,25,33' union all select
3, '3,10';
select t.ID, t.NumList, sum(distinct power(2,v.number)) newcol
from tbl T
outer apply (values (cast('<a>'+REPLACE(NumList,',','</a><a>')+'</a>' as xml))) X(xml)
outer apply X.xml.nodes('/a') N(Num)
left join master..spt_values v on v.type='P' and v.number between 0 and 30
and power(2,v.number) & N.Num.value('.','bigint') > 0
group by t.ID, t.NumList
order by t.ID
=== results
ID NumList newcol
---- ------------ -----------
1 2,4,25 31
2 2,12,25,33 63
3 3,10 11