DATA Step, Macro, Functions and more

MAcro variable with single quotes

Accepted Solution Solved
Reply
Contributor
Posts: 40
Accepted Solution

MAcro variable with single quotes

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


Accepted Solutions
Solution
‎08-01-2013 02:34 AM
Contributor
Posts: 40

Re: MAcro variable with single quotes

Got it working with something like this

%let var1_n=%unquote(%bquote(')&var1%bquote('));

View solution in original post


All Replies
Super User
Posts: 3,100

Re: MAcro variable with single quotes

Does something like this help:

%let var1 = abc;

%put case when var1 eq %str(%')&var1%str(%');

Super Contributor
Posts: 297

Re: MAcro variable with single quotes

%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?

Solution
‎08-01-2013 02:34 AM
Contributor
Posts: 40

Re: MAcro variable with single quotes

Got it working with something like this

%let var1_n=%unquote(%bquote(')&var1%bquote('));

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 238 views
  • 6 likes
  • 3 in conversation