Hi Guys,
I have been trying to converting a date to a string of characters using the PUT function:
DATA WANT;
SET HAVE;
DATENEW=PUT(DATE, $8.);
RUN;
Currently my date is in the YYYYMMDD format. And the output of this code transformed the date into numbers:
19860108 becomes 9504
19860109 becomes 9505
So on and so forth. I think the output transformed the YYYYMMDD format into the SAS date format where 19600101 is zero.
How can I transform the YYYYMMDD into characters while keeping exactly what I see previously?
Thanks guys!
Does this do what you want?:
DATA WANT;
SET HAVE;
DATENEW=PUT(DATE, yymmddn8.);
RUN;
Does this do what you want?:
DATA WANT;
SET HAVE;
DATENEW=PUT(DATE, yymmddn8.);
RUN;
You also have the alternative of leaving the data exactly as is. When printing, you can always apply a format so you can view it in a more familiar form. That also gives you flexibility of selecting the format you want for each report. If you would like to assign a default format, you can add the FORMAT statement in the DATA step.
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.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.