BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
yashpande
Obsidian | Level 7

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

1 ACCEPTED SOLUTION

Accepted Solutions
yashpande
Obsidian | Level 7

Got it working with something like this

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

View solution in original post

3 REPLIES 3
SASKiwi
PROC Star

Does something like this help:

%let var1 = abc;

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

Scott_Mitchell
Quartz | Level 8

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

yashpande
Obsidian | Level 7

Got it working with something like this

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

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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