我需要编写一个选择查询,以便在EPOCH(datetime)-3600
和EPOCH(datetime)
之间获取数据。
选择在
EPOCH(datetime)-3600
和EPOCH(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
。