- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.