David Wayne Birdsall created TRAFODION-3071:
-----------------------------------------------

             Summary: DATEDIFF function gives strange results when executed on 
interval data types
                 Key: TRAFODION-3071
                 URL: https://issues.apache.org/jira/browse/TRAFODION-3071
             Project: Apache Trafodion
          Issue Type: Bug
          Components: sql-cmp
    Affects Versions: 2.3
            Reporter: David Wayne Birdsall
            Assignee: David Wayne Birdsall


According to the SQL reference manual, 
[http://trafodion.apache.org/docs/sql_reference/index.html#datediff_function,] 
the DATEDIFF function is limited to DATE and TIMESTAMP operands.

If one attempts DATEDIFF on INTERVAL data types, the errors are strange and 
non-intuitive. In some cases, DATEDIFF even succeeds on an INTERVAL data type. 
The following session output illustrates:
{quote}>>drop table if exists t;

--- SQL operation complete.
>>create table t (c1 interval year, c2 interval year to month, c3 interval 
>>month);

--- SQL operation complete.
>>insert into t values (interval '11' year, interval '22-02' year to month, 
>>interval '33' month);

--- 1 row(s) inserted.
>>
>>select DATEDIFF(MONTH, c1, c1) from t;

*** ERROR[4037] Field MONTH cannot be extracted from a source of type INTERVAL 
YEAR(2).

*** ERROR[4062] The preceding error actually occurred in function DATEDIFF.

*** ERROR[8822] The statement was not prepared.

>>select DATEDIFF(MONTH, c2, c2) from t;

(EXPR) 
-----------

0

--- 1 row(s) selected.
>>select DATEDIFF(MONTH, c3, c3) from t;

*** ERROR[4037] Field YEAR cannot be extracted from a source of type INTERVAL 
MONTH(2).

*** ERROR[4062] The preceding error actually occurred in function DATEDIFF.

*** ERROR[8822] The statement was not prepared.

>>
{quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to