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

Hello,

 

Sorry I am new to using SAS fulltime, however come with a solid SQL skillset. 

 

Issue: I need to pass a date in the WHERE statement in an ORACLE Passthrough (Explicit) SQL Query. The date is a Macro field. 

 

Below is the statement: 

 

EXPRTN_DT > TO_DATE(&END_DATE,'DDMONYYYY') 

 

In SAS, &END_DATE has a value of 31MAR2017. (Edit1: Without quotes and this macro is generated dynamically from SAS SQL using INTO: Function)

 

Steps tried other than the one mentioned above:

1. EXPRTN_DT > TO_DATE("&END_DATE",'DDMONYYYY') 

2. EXPRTN_DT > TO_DATE('&END_DATE','DDMONYYYY') 

3. EXPRTN_DT > TO_DATE('''&END_DATE''','DDMONYYYY')  /*Note: Single Quotes surrounded by Single Quotes)*/

4. EXPRTN_DT > &END_DATE

5. EXPRTN_DT > "&END_DATE"

6. EXPRTN_DT > '&END_DATE'

7. EXPRTN_DT > '''&END_DATE'''   /*Note: Single Quotes surrounded by Single Quotes)*/

 

If need be, willing to provide error messages, but most of them were as below:

1. ERROR: Error fetching from cursor. ORACLE error is ORA-12801: error signaled in parallel query server P019
    ORA-01858: a non-numeric character was found where a numeric was expected.

2. Missing right Paranthesis.

 

Any help is greatly appreciated.

 

P.S. I was able to run the query in dBeaver with hardcoded date as '31MAR2017' and it worked fine. 

1 ACCEPTED SOLUTION

Accepted Solutions
RVP
Calcite | Level 5 RVP
Calcite | Level 5

So wasted a day and oddly found the solution on Stackoverflow. 

 

Solution:

 

Changed this: EXPRTN_DT > TO_DATE(&END_DATE,'DDMONYYYY')

 

To this: EXPRTN_DT > %BQUOTE('&QTR_END_DATE') 

 

Credit: https://stackoverflow.com/questions/9830518/proper-syntax-for-sas-macro-date-in-oracle-query

Last Answer by Chris J. 

View solution in original post

1 REPLY 1
RVP
Calcite | Level 5 RVP
Calcite | Level 5

So wasted a day and oddly found the solution on Stackoverflow. 

 

Solution:

 

Changed this: EXPRTN_DT > TO_DATE(&END_DATE,'DDMONYYYY')

 

To this: EXPRTN_DT > %BQUOTE('&QTR_END_DATE') 

 

Credit: https://stackoverflow.com/questions/9830518/proper-syntax-for-sas-macro-date-in-oracle-query

Last Answer by Chris J. 

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

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
  • 1 reply
  • 2502 views
  • 0 likes
  • 1 in conversation