How do I convert DATE9. format to ISO8601 date format ?
I need to convert the 10JAN2011 to 2011-01-10.
Is there a way to do this ?
Well, that example, is not necessarily ISO date, it is YYYY-MM-DD foramt which is part of ISO. You would likely do it:
isodate=put(your_date9_var,yymmdd10.);
E.g.:
data tmp; a="15FEB2015"d; b=put(a,yymmdd10.); run;
Well, that example, is not necessarily ISO date, it is YYYY-MM-DD foramt which is part of ISO. You would likely do it:
isodate=put(your_date9_var,yymmdd10.);
E.g.:
data tmp; a="15FEB2015"d; b=put(a,yymmdd10.); run;
Formats only control the display of the variable.
If you need to change the format, use a format statement. This keeps your variable as a date so that you can do calculations later on, such as duration.
format variable yymmdd10.;
Otherwise, if you want a character variable use PUT() function as demonstrated in the other answer.
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 25. 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.