如何在 Oracle 中获取纪元函数
How to get epoch function in Oracle
select *
from sample_table scr
where extract('epoch' from systimestamp - scr.created_date)/60 > :defaultTimeOut
这是一个 postgres 查询。试图将此查询转换为 oracle。
如何在 oracle 中转换纪元?
TIA。
您实际上是在尝试将间隔(即两个日期之间的差异)转换为秒数。假设 created_date
是 date
数据类型,一种方法是:
select *
from sample_table
where (sysdate - created_date) * 24 * 60 * 60 > :defaultTimeOut
基本原理:在 Oracle 中,两个日期相减 returns 表示天数差异的十进制数。您可以将其乘以 24(每天的小时数)、60(每小时的分钟数)和 60(每分钟的秒数)以将其转换为秒数,然后将其与目标值进行比较。
如果 created_date
是 timestamp
数据类型,您可以先将其转换为 date
:
select *
from sample_table
where (sysdate - cast(created_date as date)) * 24 * 60 * 60 > :defaultTimeOut
select *
from sample_table scr
where extract('epoch' from systimestamp - scr.created_date)/60 > :defaultTimeOut
这是一个 postgres 查询。试图将此查询转换为 oracle。
如何在 oracle 中转换纪元?
TIA。
您实际上是在尝试将间隔(即两个日期之间的差异)转换为秒数。假设 created_date
是 date
数据类型,一种方法是:
select *
from sample_table
where (sysdate - created_date) * 24 * 60 * 60 > :defaultTimeOut
基本原理:在 Oracle 中,两个日期相减 returns 表示天数差异的十进制数。您可以将其乘以 24(每天的小时数)、60(每小时的分钟数)和 60(每分钟的秒数)以将其转换为秒数,然后将其与目标值进行比较。
如果 created_date
是 timestamp
数据类型,您可以先将其转换为 date
:
select *
from sample_table
where (sysdate - cast(created_date as date)) * 24 * 60 * 60 > :defaultTimeOut