Oracle 11g and SQL Server EPOCH-3600 and EPOCH (Unix_timesta



我需要编写一个选择查询,以便在EPOCH(datetime)-3600EPOCH(datetime)之间获取数据。

选择在EPOCH(datetime)-3600EPOCH(datetime)之间的特定日期范围内修改的所有事件

所以我的查询是:

SELECT *
FROM TABLENAME
WHERE COLUMN_NAME BETWEEN COLUMNNAME-3600 AND COLUMNNAME

此查询会以Unix TimeStamp格式获取从1小时前到当前时间的数据吗?

给定一列(COLUMN_NAME(,其中数据存储为unix时间戳(例如,自1970年1月1日以来经过的秒数(,您将根据作为参数传递的DATE筛选记录。

我的理解是,您需要一种将unix时间戳转换为日期的方法。Oracle中没有这样的内置函数,但是您可以在日期中添加数字,其中数字表示要添加的天数。

尝试:

SELECT *
FROM TABLENAME
WHERE 
TO_DATE('01/01/1970', 'dd/mm/yyyy') + COLUMN_NAME/60/60/24 -- convert unix timestamp to date
BETWEEN :mydate - 3600 AND :mydate
;

将两个:mydate替换为要执行搜索的实际DATE

最新更新