How do I convert a 6 position date format to a 10 position date format?

Hi All,

How do I convert the following date to a MM/DD/YYYY format?

112310 to 11/23/2010

Thanks,

SASnewbie
SASnewbieAsked:
Who is Participating?
 
theartfuldazzlerCommented:
Hi

It looks like you have previously defined the "date" variable as text as well...  The date variable must be numeric...

In the two lines you sent me - try changing to:

x_Date = input(stat_date,mmddyy.);
Stat_date = put(x_date, mmddyy10.);
0
 
theartfuldazzlerCommented:
Hi

Assuming the date is stored as text then:

DATA _NULL_;
  Old_date = '112310';
  SAS_Date = INPUT(Old_date, mmddyy.);
  New_date = PUT(SAS_Date, mmddyy10.);
  PUT _ALL_;
RUN;

Effectively, this ocde converts a text field to a SAS date, and then makes that SAS Date into a new text field in the format mm/dd/yyyy.

0
 
SASnewbieAuthor Commented:
Hi theartfuldazzler,

Thanks for responding so quickly.

Is there a way to keep the 'Old_date" name?
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
theartfuldazzlerCommented:
Hi

DATA _NULL_;
  Old_date = '112310';
  SAS_Date = INPUT(Old_date, mmddyy.);
  Old_date = PUT(SAS_Date, mmddyy10.);
  PUT _ALL_;
DROP SAS_Date;
RUN;
0
 
theartfuldazzlerCommented:
Hi

You might have an issue with the length of the Old_Date.  If you place a format statement before the SET statement, it should work.


DATA _NULL_;
format Old_Date $10.;
  Old_date = '112310';
  SAS_Date = INPUT(Old_date, mmddyy.);
  New_date = PUT(SAS_Date, mmddyy10.);
  PUT _ALL_;
RUN;
0
 
SASnewbieAuthor Commented:
Thanks,
Let me try it and be right back.
0
 
SASnewbieAuthor Commented:
Hi,

I'm not getting it... Here is the section of the log with the error message.

2652  Date = input(stat_date,mmddyy.);
2653  Stat_date = put(date, mmddyy10.);
                            ---------
                            48
ERROR 48-59: The format $MMDDYY was not found or could not be loaded.

stat_date is in the mmddyy format, is text with length $6.
0
 
SASnewbieAuthor Commented:
Okay Thanks,
I will be back in an hour...
0
 
theartfuldazzlerCommented:
Hi

Its 10pm on my side of the world, I will look again tomorrow first thing
0
 
SASnewbieAuthor Commented:
I was able to make the conversion:

stat2_date = input(stat_date,mmddyy6.);
format stat2_date mmddyy10.;
stat_date = put(stat2_date,mmddyy10.);

Thanks,
0
 
SASnewbieAuthor Commented:
Please cancel this request to close without assigning points
0
 
theartfuldazzlerCommented:
Hi

Just interested - but the answer I gave works - and is identical to your answer...  why no points?
0
 
SASnewbieAuthor Commented:
Hi theartfuldazzler,

I put in a request for the cancel so I can give you the points.

Sorry about that.
0
 
theartfuldazzlerCommented:
As per comment ID: 34970400, the author agrees that comment ID: 34945923 is the correct solution, and should be granted the points.
0
 
SASnewbieAuthor Commented:
Thanks again!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.