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

Hello all,

 

is it possible to use mathematical operations in the values() statement? For example

 

data have;
input x $ y z;
datalines;
a 1 2
b 3 4
;

proc sql;

insert into have values('c',5,6);
insert into have values('d',3*1,7-6);
quit;

 

The first insert statement works but the second does not. Is it possible to use mathematical operations?

1 ACCEPTED SOLUTION

Accepted Solutions
SuryaKiran
Meteorite | Level 14

data have;

input x $ y z;

datalines;

a 1 2

b 3 4

;

proc sql;

insert into have values('c',5,6);

insert into have values('d',%EVAL(3*1),%EVAL(7-6));

quit;

Thanks,
Suryakiran

View solution in original post

5 REPLIES 5
SuryaKiran
Meteorite | Level 14

data have;

input x $ y z;

datalines;

a 1 2

b 3 4

;

proc sql;

insert into have values('c',5,6);

insert into have values('d',%EVAL(3*1),%EVAL(7-6));

quit;

Thanks,
Suryakiran
spirto
Quartz | Level 8

Thank you for your response! A followup question: how would I use the %EVAL function with date literals.

 

For example how can I do

 

insert into have values('d',%EVAL(3*1),%EVAL('29DEC2015'd-'28DEC2015'd));

ballardw
Super User

No reason to use %eval just use ('29DEC2015'd-'28DEC2015'd)

 

Though learning th INTCK function will help in the future.

spirto
Quartz | Level 8

When I tried using just the literals I got an error but using %sysevalf worked. I guess date literals are considered floating point values and not purely interger values

 

insert into have values('d',%eval(3*1),%sysevalf('29DEC2015'd-'28DEC2015'd));

SuryaKiran
Meteorite | Level 14

proc sql;

insert into have values('c',5,6);

insert into have values('d',%EVAL(3*1),%SYSFUNC(INTCK(DAYS,'28DEC2015'd,'29DEC2015'd)));

quit;

Thanks,
Suryakiran

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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
  • 5 replies
  • 2755 views
  • 0 likes
  • 3 in conversation