BookmarkSubscribeRSS Feed
Ronein
Onyx | Level 15

Hello

I want to use like operator in proc sql.

I want to ask why when I use macro variable then want2 data set cannot find the row??

Data have;
input IP $ 9.;
cards;
033948777
383888388
027441567
;
Run;


proc sql;
create table want1 as
select *
from have
where IP like '%27441567'
;
quit;


%let wanted_IP=27441567;
proc sql;
create table want2 as
select *
from have
where IP like "%&wanted_IP."
;
quit;
2 REPLIES 2
PaigeMiller
Diamond | Level 26

The % sign is not interpreted as a text percent sign, it is interpreted as a macro symbol. So macro %27441567 is referenced, but doesn't exist. To force the percent sign to be interpreted as a text percent sign

 

where IP like "%nrstr(%%)&wanted_IP."
--
Paige Miller
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
  • 754 views
  • 5 likes
  • 3 in conversation