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)