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.);
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.