Hi,
I have a variable 'date' which stores dates as numbers, eg: 2140314 .
For example, the following shows what my data looks like:
2140205
2140328
2140314
All of the data is shown as the number format. I want to convert them into date format. For example, I want to change 2140314 into 03/14/2014.
data have;
input date;
cards;
2140314
;
run;
data want (drop=olddate helpstring);
set have (rename=(date=olddate));
length helpstring $8;
helpstring = put(olddate,7.);
helpstring = substr(helpstring,1,1) !! '0' !! substr(helpstring,2);
format date mmddyy10.;
date = input(helpstring,yymmdd8.);
run;
data have;
input date;
cards;
2140314
;
run;
data want (drop=olddate helpstring);
set have (rename=(date=olddate));
length helpstring $8;
helpstring = put(olddate,7.);
helpstring = substr(helpstring,1,1) !! '0' !! substr(helpstring,2);
format date mmddyy10.;
date = input(helpstring,yymmdd8.);
run;
Thank you ! It solves my problem
Then please mark my post as the solution, so the thread goes to state "solved"
This uses the CATS function to silently convert numeric to character.
33 data _null_;
34 input number;
35 date = input(substrn(cats(number),2),yymmdd6.);
36 format date yymmddd10.;
37 put (_all_)(=);
38 cards;
number=2140205 date=2014-02-05
number=2140328 date=2014-03-28
number=2140314 date=2014-03-14
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.