从纪元时间戳列中仅检索具有今天日期的记录

Posted

技术标签:

【中文标题】从纪元时间戳列中仅检索具有今天日期的记录【英文标题】:Retrieve only records with today's date from an epoc timestamped column 【发布时间】:2019-02-05 18:08:48 【问题描述】:

我有一个表,其中包含带有时间戳的“已完成”列,但时间戳采用纪元格式。我正在使用以下查询将纪元时间转换为正常日期,但我不确定如何过滤今天创建的记录。希望有人能提供帮助。

这是我正在使用的查询:

select name, status, message, completion_status, 
TO_CHAR( FROM_TZ( CAST(DATE '1970-01-01' + (1/24/60/60/1000) * completed AS TIMESTAMP), 'America/New_York'), 'yyyy-mm-dd HH24:MI:SS') 
as completed from Result;

【问题讨论】:

epoch 【参考方案1】:

找到了:

select name, status, message, completion_status, 
TO_CHAR( FROM_TZ( CAST(DATE '1970-01-01' + (1/24/60/60/1000) * completed AS TIMESTAMP), 'America/New_York'), 'yyyy-mm-dd HH24:MI:SS') 
as completed from Result
where TO_CHAR( FROM_TZ( CAST(DATE '1970-01-01' + (1/24/60/60/1000) * completed AS TIMESTAMP), 'America/New_York'), 'yyyy-mm-dd') 
LIKE (SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') as today_date FROM dual);

【讨论】:

以上是关于从纪元时间戳列中仅检索具有今天日期的记录的主要内容,如果未能解决你的问题,请参考以下文章

从返回的 Oracle 时间戳列中检索数据

Apache Spark 从时间戳列中减去天数

将纪元时间戳列转换为带有时区的日期时间

SQL (RedShift):从时间戳列中为每个月选择不同的日期

如何根据 jsonb 列中的 unix 整数设置 postgres 时间戳列?

在 Oracle 时间戳列中以 UTC 保存日期