You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Evgeny Stanilovsky (Jira)" <ji...@apache.org> on 2023/05/11 07:38:00 UTC

[jira] [Created] (CALCITE-5698) EXTRACT from INTERVAL partially does not follow the SQL standard

Evgeny Stanilovsky created CALCITE-5698:
-------------------------------------------

             Summary: EXTRACT from INTERVAL partially does not follow the SQL standard
                 Key: CALCITE-5698
                 URL: https://issues.apache.org/jira/browse/CALCITE-5698
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.34.0
            Reporter: Evgeny Stanilovsky
            Assignee: Evgeny Stanilovsky


From SQL standard we can found:
{noformat}
ISO/IEC 9075-2:1999 (E)
6.17 <numeric value function>:

If <extract field> is a <primary datetime field>, then the result is the value of the datetime
field identified by that <primary datetime field> and has the same sign as the <extract
source>.{noformat}
other data bases are follow this rule, i.e. :
{noformat}
SELECT
  EXTRACT (MONTH FROM INTERVAL '-1' MONTH)
FROM
  DUAL;{noformat}
returns: *-1*

and  **  the other one:
{noformat}
SELECT EXTRACT(MONTH FROM INTERVAL '-1 MONTHS'){noformat}
return the same result,

while calcite:
{noformat}
SELECT EXTRACT(MONTH FROM INTERVAL -1 MONTHS) AS extracted;{noformat}
{noformat}
< +---------+
< |      -1 |
< +---------+
---
> +-----------+
> |        11 |
> +-----------+{noformat}



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