[ 
https://issues.apache.org/jira/browse/CALCITE-6624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Sysolyatin updated CALCITE-6624:
---------------------------------------
    Description: 
MySQL has two different data types: TIMESTAMP and DATETIME. The difference 
between them is the range they support.

>From the documentation [1]
??The TIMESTAMP data type is used for values that contain both date and time 
parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 
03:14:07' UTC.??

??The DATETIME type is used for values that contain both date and time parts. 
MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. 
The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.??

Likely calcite's TIMESTAMP supports both ranges and for unparse logic MySQL 
dialect class always uses DATETIME, because TIMESTAMP range is subrange of 
DATETIME.

The only missing part is parsing the DATETIME datatype. For example
{code:java}
SELECT CAST(timestamp_field AS DATETIME) FROM <table>
{code}
[1] [https://dev.mysql.com/doc/refman/8.4/en/datetime.html]

  was:
MySQL has two different data types: TIMESTAMP and DATETIME. The difference 
between them is the range they support.

>From the documentation [1]
??The TIMESTAMP data type is used for values that contain both date and time 
parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 
03:14:07' UTC.??

??The DATETIME type is used for values that contain both date and time parts. 
MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. 
The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.??

Likely calcite's TIMESTAMP supports both ranges and for unparse logic MySQL 
dialect class always uses DATETIME, because TIMESTAMP range is subrange of 
DATETIME. 

The only missing part is parsing the DATETIME datatype. For example

{code}
SELECT timestamp_field AS DATETIME FROM <table>
{code}

[1] https://dev.mysql.com/doc/refman/8.4/en/datetime.html


> SqlParser should parse MySQL DATETIME type
> ------------------------------------------
>
>                 Key: CALCITE-6624
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6624
>             Project: Calcite
>          Issue Type: Bug
>          Components: babel, core
>            Reporter: Dmitry Sysolyatin
>            Assignee: Dmitry Sysolyatin
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.37.0
>
>
> MySQL has two different data types: TIMESTAMP and DATETIME. The difference 
> between them is the range they support.
> From the documentation [1]
> ??The TIMESTAMP data type is used for values that contain both date and time 
> parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 
> 03:14:07' UTC.??
> ??The DATETIME type is used for values that contain both date and time parts. 
> MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. 
> The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.??
> Likely calcite's TIMESTAMP supports both ranges and for unparse logic MySQL 
> dialect class always uses DATETIME, because TIMESTAMP range is subrange of 
> DATETIME.
> The only missing part is parsing the DATETIME datatype. For example
> {code:java}
> SELECT CAST(timestamp_field AS DATETIME) FROM <table>
> {code}
> [1] [https://dev.mysql.com/doc/refman/8.4/en/datetime.html]



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

Reply via email to