BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
gnrslasher37
Fluorite | Level 6

Hi,

 

i have the date in 20070102 numeric format, i want this into SAS format so that i get the month out of this date. I am happy to

know if there is another way as well without first formatting into SAS.

 

Thanks.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Tom
Super User Tom
Super User

If you have the number 20,070,102 and you want to treat the digits from the hundreds and thousands place as a month then just use some arithmetic to get the value.

 

data x;
  input number comma10.;
  month = mod(int(number/100),100);
  put (number month) (=);
cards;
20,070,102
20131201
;

View solution in original post

2 REPLIES 2
KachiM
Rhodochrosite | Level 12

I guess you want first to change the numeric to SAS date and then get the MONTH from the SAS date. Here is one way.

data _null_;
dt =  20070102;
date = input(put(dt,8.),yymmdd10.);
month = month(date);
put date = month =;
run;

 

 

Tom
Super User Tom
Super User

If you have the number 20,070,102 and you want to treat the digits from the hundreds and thousands place as a month then just use some arithmetic to get the value.

 

data x;
  input number comma10.;
  month = mod(int(number/100),100);
  put (number month) (=);
cards;
20,070,102
20131201
;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 1237 views
  • 0 likes
  • 3 in conversation