- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 08-25-2022 01:27 PM
(1098 views)
Hello,
I need to create a variable and assigned a character value based on the criteria.
I need to do this step by using the proc sql.
When I am using following code, I am getting an error.
- ______
22
76
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, (, *, **, +, -, '.', /, <, <=, <>, =, >, >=, AND, ELSE, EQ,
EQT, GE, GET, GT, GTT, LE, LET, LT, LTT, NE, NET, OR, WHEN, ^=, |, ||, ~=. - ERROR 76-322: Syntax error, statement will be ignored.
proc sql;
create table test2 as
select *, case
when ( length(strip(_datetime)) GE 9 ) then
when _date1 GT _date2 then 'N'
end as var1_new
end
from test1 ;
1 REPLY 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You can't compound the conditions with another WHEN ( you would need another CASE) or add an AND.
when ( length(strip(_datetime)) GE 9 ) & _date1 GT _date2 then 'N'
end as var1_new
The other END makes me wonder if this is already part of a nested case statement though, which means you may need to post the whole nest to debug it.