[
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'.??
Calcite's TIMESTAMP likely supports both ranges, and for unparse logic, the
MySQL dialect class always uses DATETIME because the TIMESTAMP range is a
subset of the DATETIME range.
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:java}
SELECT CAST(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'.??
> Calcite's TIMESTAMP likely supports both ranges, and for unparse logic, the
> MySQL dialect class always uses DATETIME because the TIMESTAMP range is a
> subset of the DATETIME range.
> 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)