Hi All,
I have 4 macro variables which I want to use in Teradata SQL passthrough, since TD doesnt recognise double quotes, my challenge is to create them in single quotes.somehow I am unable to do it since few of them have missing values as well.
My macro variables are like this
%let var1=abc;
%let var2=pqr;
%let var3=;
%let var4=new;
I want to use it something like this in my proc sql
case when var1 eq 'abc' and var2 eq 'pqr' and var3 eq '' and var4 eq 'new' then true;
Any help is really appreciated
Got it working with something like this
%let var1_n=%unquote(%bquote(')&var1%bquote('));
Does something like this help:
%let var1 = abc;
%put case when var1 eq %str(%')&var1%str(%');
%LET VAR1='ABC';
%LET VAR2='PQR';
%LET VAR3='';
%LET VAR4='NEW';
PROC SQL;
CREATE TABLE TEST AS
SELECT *,
CASE WHEN VAR1 EQ &VAR1. AND VAR2 EQ &VAR2. AND VAR3 EQ &VAR3. THEN 1 END AS FLAG
FROM HAVE
;
RUN;
Why not surround your macro variable values in single quotes?
Got it working with something like this
%let var1_n=%unquote(%bquote(')&var1%bquote('));
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.