Oracle 11g和SQL Server EPOCH-3600和EPOCH(Unix_timestamp)

时间:2018-12-10 21:14:05

标签: sql oracle11g

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

  

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

所以我的查询是:

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

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

1 个答案:

答案 0 :(得分:0)

给定一列(@Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: [ './app.component.css' ], animations: [ trigger('horizontalBarGrow', [ transition(':enter', [ style({ width: '5px' }), animate('500ms ease-out', style({ width: '50px' })), ]), ]) ] }) export class AppComponent { name = 'Angular'; bars = [] addBars() { this.bars.push({ width: '10%'}); this.bars.push({ width: '40%'}); } } ),其中数据以unix时间戳记存储(例如,自1970年1月1日以来经过的秒数),您希望根据COLUMN_NAME参数。

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

尝试:

DATE

将两个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