For macro variables, I suggest using text in the form of ddMMMyyyy, without any quotes.
I.e, something like
%let d=05JUL2021 ;
This tactic makes it easy to use macrovar-based dates in regular SAS code, as in:
data want;
set have;
where date >="&d"d;
run;
I.e., in the SAS code, just provide the trailing d, and the quotes - but they have to be double quotes to avoid masking the &d value.
Similarly for time, use
%let t=15:05:20.05
And for date-times %let dt=03jul2021:12:20:30.10;
whose use in a sas program might look like:
%let d=05jul2021;
%let t=15:30:15.05;
%let dt=03jul2021:12:20:30.10;
data _null_;
d="&d"d; put d=date9.;
t="&t"t; put t=time11.2;
dt="&dt"dt; put dt=datetime30.3;
run;
... View more