Vertica DB:需要使用日期字符串并转换为where子句的一部分

时间:2017-09-09 02:34:24

标签: vertica

我在vertica中有一个字段

stroke-miterlimit="4"

似乎持有毫秒

deviceReceiptTime   -5  Integer 19  8

我希望分析师能够输入标准的日期格式 1504828819089 1504828819071 Epoch date Human readable date (GMT) 1504828819 2017-09-08 00:00:19 而不是先转换为毫秒。

而不是

YYYY-MMDD HH24MISS

2 个答案:

答案 0 :(得分:1)

也许是这样的......

where deviceReceiptTime between 
    extract ( epoch from <lower_limit ) and 
    extract ( epoch from <higher_limit> )

例如:

where deviceReceiptTime between 
    extract ( epoch from '2017-02-08 00:00:00'::timestamp ) and 
    extract ( epoch from '2017-04-08 00:00:00'::timestamp )

答案 1 :(得分:0)

使用to_timestamp函数将UTC(int)中的unix纪元时间转换为时间戳值。

to_timestamp(receiptTimestamp/1e3) at time zone 'UTC' between '2017-09-15 8:00:00 am' and '2017-09-15 9:00:00 am'

该函数以秒为单位接受时间,因此我们需要除以1000.您可以更改时区说明符以匹配您的输入时区(即

  

在时区&#39; America / Chicago&#39>