BookmarkSubscribeRSS Feed
Tom
Super User Tom
Super User

You can also just make your own macro to add the single quotes. 

AhmedAl_Attar
Ammonite | Level 13

Try this

%macro temp(val=x);

   %local quotedVal;

   %let quotedVal = %str(%')&val%nrstr(%%%');

   proc sql;

      select * from table1 where col1 like %unquote(&quotedVal); /* %superq(quotedVal) would cause SQL syntax Error! */

   quit;

%mend;

options mprint;

%temp(val=x);

JakobHommelhoff
SAS Employee

I have had the same problem...

Try this...

%macro temp(val=x);

     proc sql;

          select * from table1 where col1 like "%QOUTE(%%)&val.%";

     quit;

%mend;

Ksharp
Super User

That is weird . Your code should be work.

Try:

Code: Program


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

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 18 replies
  • 8888 views
  • 3 likes
  • 8 in conversation