Solved
N/A
Posts: 1

# convert date in a macro variable to date9.

I have a situation where I need to convert a date to date9. in a macro variable

%let date=2012-01-01;

I need to convert above date to date9. format in to another macro variable.

ANy help is much appreciated.

Accepted Solutions
Solution
‎08-18-2014 03:36 PM
Super User
Posts: 22,041

## Re: convert date in a macro variable to date9.

Use %sysfunc and inputN function to convert:

%let date=2012-01-01;

%let date_d9=%sysfunc(inputn(&date, yymmdd10.), date9.);

%put &date_d9.;

All Replies
Solution
‎08-18-2014 03:36 PM
Super User
Posts: 22,041

## Re: convert date in a macro variable to date9.

Use %sysfunc and inputN function to convert:

%let date=2012-01-01;

%let date_d9=%sysfunc(inputn(&date, yymmdd10.), date9.);

%put &date_d9.;

Super Contributor
Posts: 257

## Re: convert date in a macro variable to date9.

Thank you for this solution Reeza. It really helped me today! :-)

Contributor
Posts: 54

## Re: convert date in a macro variable to date9.

Hi all,

I tried the same thing but it does not work here:

23         %put &StT; /* aus der Eingabeaufforderung */
20170401
24
25         %let dateend = %sysfunc(putn(%sysfunc(INPUTN(%sysfunc(PUTN(&StT, Z8.)), YYMMDD8.)), date9.));
26         %put &dateend;
01APR2017
27
28
29         %PUT SAS DATA VALUE: &StT;
SAS DATA VALUE: 20170401
30
31         %let dateend2 = %sysfunc(INPUTN(&StT, Z8.), date9.);
32         %put &dateend2;
*********
33

Super User
Posts: 7,590

## Re: convert date in a macro variable to date9.

If you have a new question open a new thread. You can add a link back to the old thread to provide context if you want.

☑ This topic is solved.