DATA Step, Macro, Functions and more

Insert an automatic macro variable as a value in proc sql

Accepted Solution Solved
Reply
Contributor
Posts: 68
Accepted Solution

Insert an automatic macro variable as a value in proc sql

Hi all

I am trying to insert values in a table with proc sql using a macro variable like this

proc sql;

insert into dummy (a, b, c, d, date)

values (&a., &b., &c., &d., &SYSDATE9);

quit;

Is there any option to achiveve the goal?. I try too with symget'SYSDATE9' and something else without success.

Thanks in advanced.


Accepted Solutions
Solution
‎09-09-2014 07:45 AM
Super User
Posts: 5,256

Re: Insert an automatic macro variable as a value in proc sql

&SYSDATE is in the date format, which is the same format as the d literal is using.

You can't evaluate a macro variable within single quotes, you need double:

"&SYSDATE9"D

Data never sleeps

View solution in original post


All Replies
Solution
‎09-09-2014 07:45 AM
Super User
Posts: 5,256

Re: Insert an automatic macro variable as a value in proc sql

&SYSDATE is in the date format, which is the same format as the d literal is using.

You can't evaluate a macro variable within single quotes, you need double:

"&SYSDATE9"D

Data never sleeps
Super User
Super User
Posts: 6,499

Re: Insert an automatic macro variable as a value in proc sql

That will not work.  Note that all macro expansion is doing is replacing the macro variable reference with the text of that macro variable. In this case you are generating code like:

insert into dummy (date) value (09SEP2014)

That will not be valid syntax since 09SEP2014 is not a variable reference or a literal value.

To generate a literal date value you need to add quotes and the letter D (for date).

insert into dummy (date) value ("09SEP2014"d)

So now you have legal SAS code and you can replace the date with the macro variable reference.

insert into dummy (date) value ("&sysdate9"d)

Contributor
Posts: 68

Re: Insert an automatic macro variable as a value in proc sql

Thanks both for your quickly answer.

Smiley HappySmiley Happy

☑ This topic is SOLVED.

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

Discussion stats
  • 3 replies
  • 861 views
  • 3 likes
  • 3 in conversation