I was using proc sql case when statement on sas EG and similar code using sas access to teradata to convert char to int.
logic run on sas eg which give error as 2nd when conditon has different data type variable
so what i have
when var_cd equal '0' then 0
when var_cd equal ' ' then null
else (10- input(var_Cd,8.) end as my_var_val
Logic which worked in Teradata sas access
,cast(
case
when var_Cd is null then null
when var_Cd = '0' then null
else 10 - cast(var_Cd as byteint)
end as byteint) as var_Cd
Could anyone please elaborate how this thing process via SAS access but not in sas EG where i used simple
libname td teradata(user=&user pwd=&pwd schema=my_Schema );
Read the warnings and error messages.
equal should be eq or =
null should be .
your parentheses should be balanced
Your first code is SAS code.
Your second set of code is Teradata code, use SQL Pass Through - code is literally passed to Teradata server.
When end using a libname connection in EG you need to use SAS code.
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.