[ 
https://issues.apache.org/jira/browse/DERBY-234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12461923
 ] 

Bernt M. Johnsen commented on DERBY-234:
----------------------------------------

The SQL standard specifies (Extract from SQL 2003 Ch 5.3):

<date value> ::= <years value> <minus sign> <months value> <minus sign> <days 
value>
<time value> ::= <hours value> <colon> <minutes value> <colon> <seconds value>

<unquoted date string> ::= <date value>
<unquoted time string> ::= <time value> [ <time zone interval> ]
<unquoted timestamp string> ::= <unquoted date string> <space> <unquoted time 
string>

So there's a lot of Derby "extensions":

DATE:
  yyyy-mm-dd    ok.
  mm/dd/yyyy     "extension"
  dd.mm.yyyy     "extension"

TIME:
  hh:mm[:ss]                   "extension", SQL specifies hh:mm:ss
  hh.mm[.ss]                   "extension"
  hh[:mm] {AM | PM}     "extension"

TIMESTAMP:
  yyyy-mm-dd-hh[.mm[.ss[.nnnnnn]]]      "extension"
  yyyy-mm-dd hh[:mm[:ss[.nnnnnn]]]      "extension", SQL specifies yyyy-mm-dd 
hh:mm:ss[.nnnnnnn]

And the variant Dag obeserved:
   yyyymmddhhmmss     is also an "extension"

I think we should document the extensions (including the last one), but also 
document that they are NOT standards compliant

Note: SQL deviates from ISO 8601, since <space> is used between date and time 
instead of "T".

> Documentation of DateTime types is incomplete
> ---------------------------------------------
>
>                 Key: DERBY-234
>                 URL: https://issues.apache.org/jira/browse/DERBY-234
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.0.2.0
>            Reporter: Jack Klebanoff
>         Assigned To: Bryan Pendleton
>            Priority: Minor
>         Attachments: derby234.diff, mmss_required.diff, rrefsqlj27620.html
>
>
> The documentation for datatypes DATE, TIME, and TIMESTAMP is incomplete. The 
> documentation says that DATE, TIME, and TIMESTAMP accept any values accepted 
> by the java.sql.Date, java.sql.Time, and java.sql.Timestamp classes 
> respectively. Derby accepts a number of string formats:
> DATE:
>   yyyy-mm-dd
>   mm/dd/yyyy
>   dd.mm.yyyy
> TIME:
>   hh:mm[:ss]
>   hh.mm[.ss]
>   hh[:mm] {AM | PM}
> TIMESTAMP:
>   yyyy-mm-dd-hh[.mm[.ss[.nnnnnn]]]
>   yyyy-mm-dd hh[:mm[:ss[.nnnnnn]]]
> The year must always have 4 digits. Months, days, and hours may have one or 
> two digits. Minutes and seconds, if present, must have two digits. 
> Nanoseconds, if present may have 1 to 6 digits.
> Derby also accepts strings in the locale specific datetime format, using the 
> locale of the database server. If there is an ambiguity the built in formats 
> above take precedence.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to