DATA Step, Macro, Functions and more

Date stored as number format shows as dmmyyyy

Accepted Solution Solved
Reply
Contributor
Posts: 28
Accepted Solution

Date stored as number format shows as dmmyyyy

Good Afternoon,

I am querying a dataset where the date field is stored as a number format, however, the number is dmmyyy, so for example, 1st Apr 2013 shows as as 10413, 31st Dec 2013 shows as 31122013.

Is there any code that would convert this to a recognisable date format so SAS would recognise it was a date and if date9. format was applied would show 01APR2013 and 31DEC2013?

Kind Regards,

cxkev


Accepted Solutions
Solution
‎03-06-2014 10:11 AM
SAS Super FREQ
Posts: 709

Re: Date stored as number format shows as dmmyyyy

Have a look at the code below, you need to first convert from numeric to char and then use appropriate informat to make a SAS date from the char variable

data want;
  infile cards dlm=",";
 
input
    @
1 date_n  8.
  ;
  * convert numeric to char left aligned ;
  date_c = put(date_n,
8. -L);
  * convert from char to SAS date ;
  date_s = input( date_c,
ddmmyy8.);
  format date_s date9.;
cards;
10413
31122013
;

View solution in original post


All Replies
Solution
‎03-06-2014 10:11 AM
SAS Super FREQ
Posts: 709

Re: Date stored as number format shows as dmmyyyy

Have a look at the code below, you need to first convert from numeric to char and then use appropriate informat to make a SAS date from the char variable

data want;
  infile cards dlm=",";
 
input
    @
1 date_n  8.
  ;
  * convert numeric to char left aligned ;
  date_c = put(date_n,
8. -L);
  * convert from char to SAS date ;
  date_s = input( date_c,
ddmmyy8.);
  format date_s date9.;
cards;
10413
31122013
;
Contributor
Posts: 28

Re: Date stored as number format shows as dmmyyyy

Posted in reply to Bruno_SAS

Excellent. Thank you Bruno.

🔒 This topic is solved and locked.

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

Discussion stats
  • 2 replies
  • 660 views
  • 1 like
  • 2 in conversation