[ 
https://issues.apache.org/jira/browse/CALCITE-5039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519354#comment-17519354
 ] 

Julian Hyde commented on CALCITE-5039:
--------------------------------------

It may not solve this exact problem, but I'm curious how Calcite would do if it 
has a a {{TIMESTAMP}} whose values are offset 8 hours and people wanted to 
query the year. For example,
{code:java}
SELECT COUNT(*)
FROM t
WHERE EXTRACT(YEAR FROM ts - INTERVAL '8' HOUR) = 2019  {code}
Does Calcite produce a reasonably efficient plan in this case?

If so, could we use a virtual generated column {{ts8}} (see CALCITE-1991) to 
save the user some typing:
{code:java}
SELECT COUNT(*)
FROM t
WHERE EXTRACT(YEAR FROM ts8) = 2019{code}

> View:Timestamp cannot query Data:Long in GMT+8 TimeZone Env
> -----------------------------------------------------------
>
>                 Key: CALCITE-5039
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5039
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core, jdbc-driver
>    Affects Versions: 1.29.0, 1.30.0
>            Reporter: itxiangkui
>            Priority: Major
>              Labels: TimeZone, Timestamp
>         Attachments: image-2022-03-15-17-07-39-917.png
>
>
> When I have a row like :
> |ts:TimeStamp|channel:String|pv:Long|
> |1647187200000|ios|10|
>  
> while 1647187200000 is a timestamp in TimeZone of "GMT+8",the datetime is 
> "2022-03-14 00:00:00"
> but you can not query the data using a sql like :
> ```sql
> select * from table where ts='2022-03-14 00:00:00';
> select * from table where ts<'2022-03-14 00:00:01' and  ts>'2022-03-13 
> 23:59:59'  and channel='ios';
> ```
> it is like the jdbc-fether will filter the data when match the 
> timestampString,while the timestamp String looks like '2022-03-13 16:00:00' 
> or '2022-03-14 08:00:00'
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to