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

Maksim Zhuravkov resolved IGNITE-25313.
---------------------------------------
    Resolution: Fixed

Fixed in https://issues.apache.org/jira/browse/IGNITE-25317

> Sql. Time, Timestamp, Timestamp LTZ. Precision. CAST FORMAT confusing 
> behaviour when translating milliseconds
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-25313
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25313
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Maksim Zhuravkov
>            Priority: Major
>              Labels: ignite-3
>
> 1. 100ms -> 1 ms caused by calcite's parser uses SimpleDateFormat that parses 
> milliseconds this way.
> 2. parse operation completely loses milliseconds
> {noformat}
> // TIME
> SELECT CAST('12:00:00.1' AS TIME(3) FORMAT 'hh24:mi:ss.ff3');
> 12:00:00.001  
> // milliseconds are lost
> SELECT CAST('12:00:00.1' AS TIME(2) FORMAT 'hh24:mi:ss.ff2');
> 12:00  
> // milliseconds are lost
> SELECT CAST('12:00:00.1' AS TIME(1) FORMAT 'hh24:mi:ss.ff1');
> 12:00  
> // TIMESTAMP
> // 100 ms -> 1 ms 
> SELECT CAST('2020-05-01 12:00:00.1' AS TIMESTAMP(3) FORMAT 'yyyy-MM-dd 
> hh24:mi:ss.ff3');
> 2020-05-01T12:00:00.001 
> // milliseconds are lost
> SELECT CAST('2020-05-01 12:00:00.1' AS TIMESTAMP(2) FORMAT 'yyyy-MM-dd 
> hh24:mi:ss.ff2');
> 2020-05-01T12:00  
> // milliseconds are lost
> SELECT CAST('2020-05-01 12:00:00.1' AS TIMESTAMP(1) FORMAT 'yyyy-MM-dd 
> hh24:mi:ss.ff1');
>  2020-05-01T12:00  
> // TIMESTAMP LTZ
> // 100 ms -> 1 ms (calcite's formatter uses SimpleDateFormat)
> SELECT CAST('2020-05-01 12:00:00.1' AS TIMESTAMP(3) WITH LOCAL TIME ZONE 
> FORMAT 'yyyy-MM-dd hh24:mi:ss.ff3');
> 2020-05-01T09:00:00.001Z  
> SELECT CAST('2020-05-01 12:00:00.1' AS TIMESTAMP(2) WITH LOCAL TIME ZONE 
> FORMAT 'yyyy-MM-dd hh24:mi:ss.ff2');
> 2020-05-01T09:00:00.001Z     
> SELECT CAST('2020-05-01 12:00:00.1' AS TIMESTAMP(1) WITH LOCAL TIME ZONE 
> FORMAT 'yyyy-MM-dd hh24:mi:ss.ff1');
> 2020-05-01T09:00:00.001Z  
> {noformat}



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

Reply via email to