BookmarkSubscribeRSS Feed
Xinhui
Obsidian | Level 7

Hello There

My date variable is present like 20120317, I tried the code "fomate date yymmdd8.;" hoever, there is a error occurs as " There was a problem with the format so BEST. was used." .

 

Please let me know how to convert the 20120317 to yymmdd8.

Thanks advance.

 

 

2 REPLIES 2
art297
Opal | Level 21

Try:

data have;
  input date;
  cards;
20120317
;
run;

data want (drop=_:);
  set have (rename=(date=_date));
  format date yymmdd8.;
  date=input(put(_date,8.),yymmdd8.);
run;

Art, CEO, AnalystFinder.com

 

ballardw
Super User

Your current variable is apparently a simple numeric with the value 20120317. So conversion would look like:

 

data want;
   set have;
   datevar = input(put(datevar,f8. -L),yymmdd10.);
   format datevar date9.; /* to show the FORMAT is working*/
run;

use whatever format that you want.

 

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 785 views
  • 0 likes
  • 3 in conversation