Help using Base SAS procedures

Converting date to Character

Accepted Solution Solved
Reply
Contributor
Posts: 35
Accepted Solution

Converting date to Character

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!


Accepted Solutions
Solution
‎10-09-2012 02:59 PM
PROC Star
Posts: 7,492

Re: Converting date to Character

Does this do what you want?:

DATA WANT;

  SET HAVE;

  DATENEW=PUT(DATE, yymmddn8.);

RUN;

View solution in original post


All Replies
Solution
‎10-09-2012 02:59 PM
PROC Star
Posts: 7,492

Re: Converting date to Character

Does this do what you want?:

DATA WANT;

  SET HAVE;

  DATENEW=PUT(DATE, yymmddn8.);

RUN;

Super User
Posts: 5,518

Re: Converting date to Character

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.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 69542 views
  • 6 likes
  • 3 in conversation