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.);
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.