Zhengqiang Duan created CALCITE-6666:
----------------------------------------

             Summary: Support Oracle SYSDATE and SYSTIMESTAMP functions
                 Key: CALCITE-6666
                 URL: https://issues.apache.org/jira/browse/CALCITE-6666
             Project: Calcite
          Issue Type: Improvement
            Reporter: Zhengqiang Duan
            Assignee: Zhengqiang Duan


Hi community. When I execute sql with Oracle SYSDATE and SYSTIMESTAMP 
functions, the following error message appears. 
{code:java}
SELECT SYSDATE FROM SBTEST1 WHERE ID = 12345600
// Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
column 8 to line 1, column 14: Column 'SYSDATE' not found in any table 
SELECT SYSTIMESTAMP FROM SBTEST1 WHERE ID = 12345600
// Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
column 8 to line 1, column 19: Column 'SYSTIMESTAMP' not found in any table 
{code}
I checked the Oracle official documentation and found that SYSDATE and 
SYSTIMESAMP functions are similar to CURRENT_DATE and CURRENT_TIMESTAMP. I 
think we can quickly adapt to support them. 

Here is the documentation for the Oracle SYSDATE and SYSTIMESTAMP functions:
- 
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SYSDATE.html
- 
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SYSTIMESTAMP.html

Refer to this article - 
https://database-heartbeat.com/2021/09/28/sysdate-vs-current_date-in-oracle-database/,
 he describes the difference between SYSDATE, SYSTIMESTAMP functions, and 
CURRENT_DATE, CURRENT_TIMESTAMP: SYSDATE is a SQL function that returns the 
current date and time set for the operating system of the database server. 
CURRENT_DATE returns the current date in the session time zone. The same story 
applies to SYSTIMESTAMP and CURRENT_TIMESTAMP.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to