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;
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.