DATA Step, Macro, Functions and more

Invalid date/time/datetime constant

Accepted Solution Solved
Reply
Contributor
Posts: 59
Accepted Solution

Invalid date/time/datetime constant

Hi,

 

I had this ERROR about dates. I tried with fix dates like 01JAN2012 and 07FEB2018 and works fine. I don't know why SAS doesn't like calculated variables.

 

34         
35         GOPTIONS ACCESSIBLE;
36         %let date=2012-01-01;
37         %let date_d9=%sysfunc(inputn(&date, yymmdd10.), date9.);
38         %put &date_d9.;
01JAN2012
39         
40         %let tdate = %sysfunc(today(),date9.);
41         %put &tdate.;
07FEB2018
42         
43         PROC SQL;
44         CREATE TABLE WORK.TEST AS
45         SELECT t1.'Instalação'n,
46                   t1.Painel,
47                   t1.'Último Disparo'n
48         FROM WORK.LISTADISJUNTORESRND t1
49         WHERE t1.'Último Disparo'n BETWEEN 'date_d9.'d AND 'tdate.'d;
ERROR: Invalid date/time/datetime constant 'date_d9.'d.
ERROR: Invalid date/time/datetime constant 'tdate.'d.
NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
50         quit;
NOTE: The SAS System stopped processing this step because of errors.

Regards,

Aleixo


Accepted Solutions
Solution
‎02-07-2018 10:48 AM
Super User
Posts: 6,526

Re: Invalid date/time/datetime constant

You need to refer to your macro variables properly.  That means adding &, and using double quotes instead of single quotes:

 

 

WHERE t1.'Último Disparo'n BETWEEN "&date_d9."d AND "&tdate."d;

View solution in original post


All Replies
Solution
‎02-07-2018 10:48 AM
Super User
Posts: 6,526

Re: Invalid date/time/datetime constant

You need to refer to your macro variables properly.  That means adding &, and using double quotes instead of single quotes:

 

 

WHERE t1.'Último Disparo'n BETWEEN "&date_d9."d AND "&tdate."d;

Contributor
Posts: 59

Re: Invalid date/time/datetime constant

Posted in reply to Astounding

Thanks a lot. Yes it is true. I try with & but i never put characters "" .

Super User
Posts: 22,820

Re: Invalid date/time/datetime constant

Two errors:

 

1. No & (ampersand) before the macro variables

2. Macro variables only resolve in double quotes

 

Once you make those changes it should work.

Contributor
Posts: 59

Re: Invalid date/time/datetime constant

Thank you.

☑ This topic is solved.

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

Discussion stats
  • 4 replies
  • 276 views
  • 0 likes
  • 3 in conversation