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. 

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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