db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nelson Rodrigues (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-4107) DATE function returns wrong result for integer argument
Date Sat, 21 Mar 2009 12:59:50 GMT
DATE function returns wrong result for integer argument

                 Key: DERBY-4107
                 URL: https://issues.apache.org/jira/browse/DERBY-4107
             Project: Derby
          Issue Type: Bug
          Components: SQL
    Affects Versions:
         Environment: MS Windows XP Professional Version 2002 Service Pack 2, running NetBeans
IDE 6.5
            Reporter: Nelson Rodrigues

When Derby Reference Manual, version 10.4, lists Derby limitations for DATE is said that the
smallest DATE value is 0001-01-01 and the largest DATE value is 9999-12-31.

When the same manual explains the DATE function is said that:

"The argument must be ... a positive number less than or equal to 2,932,897 ... The result
is the date that is n-1 days after January 1, 0001, where n is the integral part of the number."

Testing for the largest integer returns the expected result:

select date(2932897) from SYSIBM.SYSDUMMY1   returns 9999-12-31 -> OK

The problem comes when testing the smallest integer. We get a result different than we expect:

select date(1) from SYSIBM.SYSDUMMY1   returns 1970-01-01, but it should have returned 0001-01-01

The smallest date we get using integer as an argument to date function should be the same
we get when using the smallest string representation as an argument. In other words date(1)
should be equal to date('0001-01-01'). 

select date('0001-01-01') from SYSIBM.SYSDUMMY1  returns 0001-01-01 -> OK

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message