Hi there,
I am trying to convert character formatted date which look like OCT2017_Default to date formatted OCT2017.
Thanks in advance.
Use the monyy informat/format:
data _null_;
date_str = "OCT2017_Default";
date_num = input(date_str,monyy7.);
format date_num monyy7.;
put date_num=;
run;
And use a more descriptive subject next time. "Base SAS" in the "Base SAS Programming" community is not showing off a lot of creativity, to be very polite.
Use the monyy informat/format:
data _null_;
date_str = "OCT2017_Default";
date_num = input(date_str,monyy7.);
format date_num monyy7.;
put date_num=;
run;
And use a more descriptive subject next time. "Base SAS" in the "Base SAS Programming" community is not showing off a lot of creativity, to be very polite.
I did not know that the MONYY7. format would exclude the part of the text string that is '_Default', I thought this would cause the conversion to fail.
Learn something new every day!
This seems to be a feature of numeric informats, they only use the number of characters specified:
data _null_;
num_str = "1234567some_garbage";
num_num = input(num_str,7.);
put num_num=;
run;
So this fails, as I would have expected
num_num = input(num_str,8.);
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.