I have a char variable containing dates such as : 2008Dec ; 2009Jan ...
I want to convert it to numeric datetime and then format it as DATE9.
However it seems that yymon7. works only as format. What should I use then?
data new; set old; Date_num = input(Date, yymon7.);
format Date_num DATE9.;
run;
If you really can't change your source data to monyy before your final step gets hold of it, you can do it this way:
data old;
do date = '2008dec', '2009jan', '2009dec';
output;
end;
stop;
run;
data new;
set old;
Date_num = input(substr(date, 5, 3) || substr(date, 1, 4), monyy7.);
format Date_num DATE9.;
run;
If you really can't change your source data to monyy before your final step gets hold of it, you can do it this way:
data old;
do date = '2008dec', '2009jan', '2009dec';
output;
end;
stop;
run;
data new;
set old;
Date_num = input(substr(date, 5, 3) || substr(date, 1, 4), monyy7.);
format Date_num DATE9.;
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.