You mention SUM so there are two possibilities, SQL SUM function over an aggregate group, or the SUM statistic in a SAS Procedure, such as Proc MEANS, SUMMARY, UNIVARIATE, REPORT, TABULATE, etc.
In SQL a SUM of a computed value (the conversion from character representation of a number to a numeric value) can be performed directly. Suppose the column in question is named amount
data have;
length amount $2;
input amount @@; datalines;
8 4 13 NA NA 3 5
;
proc sql;
create table want as
select
SUM(
input(amount,?best12.) /* computed value is conversion through INPUT() */
) as amount_total
%* The ? before the informat (best12.) suppresses log messages such as
%* NOTE: Invalid string and
%* NOTE: Invalid argument;
from have;
For the case of other procedures, they will require a data source that delivers the column converted to a numeric or new numeric variable based on the original character variable. There are two ways to provide that data source:
* view;
data have_view / view=have_view;
set have;
amount_num = input(amount,?best12.);
run;
proc means noprint data=have_view;
var amount_num;
output out=want_2 sum=amount_total;
run;
* or data;
data have_num;
set have;
amount_num = input(amount,?best12.);
run;
proc means noprint data=have_num;
var amount_num;
output out=want_2 sum=amount_total;
run;
See SAS Proc Import CSV and missing data for a macro that converts a character variable in place, and does not create new variable names. With such a macro the non-numeric original values (such as NA, ??) are 'lost' because they become missing values (.)