This code works in SQL developer, but getting error in SAS
proc sql;
select
case WHEN Name LIKE '%' || substr(name2,instr(name2,' ',-1)+1)|| '%' then 'Y' else 'N' end as survey1
from x;
run;
ERROR: Function INSTR could not be located.
ERROR: Expression using addition (+) requires numeric types.
Yes, SAS implements ANSI SQL, not Oracle additional components.
Your case can be re-defined but would need to see some of the data it is working on to get an idea of what you want. I would guess at:
case when index(name,name2) > 0 then "Y" else "N" end as survey1
Note the above uses a SAS function index() so wouldn't work if you pass it through to the database, however if you did that the original query would work anyways.
Yes, SAS implements ANSI SQL, not Oracle additional components.
Your case can be re-defined but would need to see some of the data it is working on to get an idea of what you want. I would guess at:
case when index(name,name2) > 0 then "Y" else "N" end as survey1
Note the above uses a SAS function index() so wouldn't work if you pass it through to the database, however if you did that the original query would work anyways.
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!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.