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
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.