Try this
%macro temp(val=x);
%local quotedVal;
%let quotedVal = %str(%')&val%nrstr(%%%');
proc sql;
select * from table1 where col1 like %unquote("edVal); /* %superq(quotedVal) would cause SQL syntax Error! */
quit;
%mend;
options mprint;
%temp(val=x);
I have had the same problem...
Try this...
%macro temp(val=x);
proc sql;
select * from table1 where col1 like "%QOUTE(%%)&val.%";
quit;
%mend;
That is weird . Your code should be work.
Try:
data table1;
col1='xdw';y1=2;output;
col1='ddw';y1=2;output;
run;
%macro temp(val=x);
proc sql;
select * from table1 where col1 eqt symget('val');
quit;
%mend;
%temp
Xia Keshan
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.