You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Zhengqiang Duan (Jira)" <ji...@apache.org> on 2024/11/02 14:09:00 UTC

[jira] [Updated] (CALCITE-6666) Support Oracle SYSDATE and SYSTIMESTAMP functions

     [ https://issues.apache.org/jira/browse/CALCITE-6666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhengqiang Duan updated CALCITE-6666:
-------------------------------------
    Description: 
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.

  was:
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.


> 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
>            Priority: Major
>
> 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)