Mihai Budiu created CALCITE-5981:
------------------------------------

             Summary: TIMESTAMPDIFF function returns incorrect result 
                 Key: CALCITE-5981
                 URL: https://issues.apache.org/jira/browse/CALCITE-5981
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.35.0
            Reporter: Mihai Budiu


The following test fails, when added to SqlOperatorTest:
{code:java}
f.checkScalar("timestampdiff(month, DATE '2004-02-29', DATE '2005-02-28')",
        "11", "INTEGER NOT NULL");
{code}
The result returned by the expression is 12. However, MySQL returns 11.
The semantics of this function is not described clearly in the documentation, 
but according to several prior issues [1] [2] [3] the intended semantics should 
be the same as in MySQL.

A corresponding MySQL test: [4] 

The implementation seems to be in 
StandardConvertletTable.TimestampDiffConvertlet.

[1] https://issues.apache.org/jira/browse/CALCITE-1827,
[2] https://issues.apache.org/jira/browse/CALCITE-3529,
[3] https://issues.apache.org/jira/browse/CALCITE-1124.
[4] 
[https://github.com/mysql/mysql-server/blob/ea1efa9822d81044b726aab20c857d5e1b7e046a/mysql-test/r/func_time.result#L1151]

 



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

Reply via email to