[ https://issues.apache.org/jira/browse/CALCITE-5698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17722141#comment-17722141 ]
Evgeny Stanilovsky commented on CALCITE-5698: --------------------------------------------- Probably i need to append such a tests into Sql Logic Tests, let me know if it so. Fix is ready for review. > 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 > Priority: Major > Labels: pull-request-available > > 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)