I would like extract the data like below. But it is creating table with all rows from maps.uscity instead of required records.
It looks I need to tweak the code in like operator to get only the records that has city like below.
proc sql;
create table FI_Locations as select * from maps.uscity where city like '%Atlanta%' or '%Cary%' or '%Hartford%' ;
quit;
LIKE only can handle one expression one time.
proc sql;
create table FI_Locations as select * from maps.uscity where city like '%Atlanta%' or city like '%Cary%' or city like '%Hartford%' ;
quit;
Xia Keshan
any thoughts?
Hi Babloo,
depending on your database, maybe you can use the "contains" comparator, instead of "like", then you won;t need the wildcards.
I would like to know if i can combine the below data step into one step.
proc sql;
create table FI_Locations_at as select * from maps.uscity where city contains 'Atlanta';
quit;
proc sql;
create table FI_Locations_ca as select * from maps.uscity where city contains 'Cary';
quit;
LIKE only can handle one expression one time.
proc sql;
create table FI_Locations as select * from maps.uscity where city like '%Atlanta%' or city like '%Cary%' or city like '%Hartford%' ;
quit;
Xia Keshan
.. if you need to combine your where-statement with and-statements you might prefer ..
proc sql;
create table FI_Locations as select * from maps.uscity where
(Case When city like '%Atlanta%' or
city like '%Cary%' or
city like '%Hartford%' Then 1
Else 0
End)=1;
quit;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.