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

So I am trying to make a where statement that is dynamic however I am not 100% sure how to place a zero in front of the system month if it a single digit (i.e. 1, 2, 3, 4).

 

%let sysmonth= %sysfunc(month("&sysdate"d));
%let sysyear= %sysfunc(year("&sysdate"d));


where Year in ("&sysyear") and Month in ("&sysmonth")

I wasn't sure if you could do a CAT type function or not within the sysfunc

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20

Are you asking for this?

 

%let sysmonth= %sysfunc(month("&sysdate"d),z2.);
%let sysyear= %sysfunc(year("&sysdate"d));

%put &=sysmonth  &=sysyear;

View solution in original post

3 REPLIES 3
novinosrin
Tourmaline | Level 20

Are you asking for this?

 

%let sysmonth= %sysfunc(month("&sysdate"d),z2.);
%let sysyear= %sysfunc(year("&sysdate"d));

%put &=sysmonth  &=sysyear;
IgawaKei29
Quartz | Level 8
Thanks so much! I kept trying to put something in front of the %sysfunc. I will be adding this one to my code library.
Tom
Super User Tom
Super User

@IgawaKei29 wrote:
Thanks so much! I kept trying to put something in front of the %sysfunc. I will be adding this one to my code library.

Don't bother.  Just remember how to use the Z format.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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