Tested:
data have;
length date_Var $32;
input date_Var &;
datalines;
--
AUG 05, 2015@15:30
AUG 03, 2015@17:20
--
;
data want;
set have;
if length(date_Var) > 9 then do;
date_part1 = prxchange("s/(\w+)\s*(\d+)[, ]+(\d+)@.*/$2$1$3/o", 1, date_Var);
time_part1 = scan(date_var, 2, '@');
date_sas = input(date_part1, date.);
time_sas = input(time_part1, time.);
end;
format date_sas date9. time_sas time.;
run;
proc print; run;
Obs date_Var part1 part1 date_sas time_sas
1 -- . .
2 AUG 05, 2015@15:30 05AUG2015 15:30 05AUG2020 15:30:00
3 AUG 03, 2015@17:20 03AUG2015 17:20 03AUG2020 17:20:00
4 -- . .
... View more