Hi,
I have a date character variable in my dataset that has the following format:
type = Char
Len = 50
Format = $50.
Example of field below:
Date_char = 22-SEP-20
I have tried a number of functions (and a combination of functions) such as inputs, format, substr, cat, compress, substitution to convert this date character into a date9. format - without success.
I am sure there is an easy way to resolve this. Please advise.
data have;
Date_char = '22-SEP-20';
run;
data want;
set have;
sas_date=input(date_char,date9.);/*read and convert to num date*/
format sas_date date9.;/*format the sas date for appropriate display*/
run;
data have;
Date_char = '22-SEP-20';
run;
data want;
set have;
sas_date=input(date_char,date9.);/*read and convert to num date*/
format sas_date date9.;/*format the sas date for appropriate display*/
run;
So your variable can hold up to 50 bytes. The example value you showed is only 9 bytes long. If the rest of the values follow that pattern then the DATE informat should work. Just make sure to remove any leading spaces in the values before trying to read it with the DATE informat.
data want;
set have;
date_num = input(left(date_char),date11.);
format date_num date9.;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.