Druid SQL查询数据timeStamp时区问题

一、Druid默认时区

默认使用UTC+0000,数据存储的时间timeStamp为UTC+0000

 

二、北京时间

在中国,使用UTC+0800,查询时间需要设置时区或者将时区转换为UTC+0000时间

以下查询是UTC+0000时间,查询结果的dateTime也是UTC+0000时间需要进行时区转换

select "__time", "value"
from access_log 
where "__time">=TIMESTAMP '2019-12-06 06:12:00' and "__time"<=TIMESTAMP '2019-12-07 06:12:00'

 

三、解决方案

所有日期转为long类型,就不会存在时区错乱的问题

select TIMESTAMP_TO_MILLIS("__time") "__time","value"
from "access_log" 
where "__time">=MILLIS_TO_TIMESTAMP(1576259650000) and "__time"<=MILLIS_TO_TIMESTAMP(1576302850000) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值