如何 select oracle 中的所有记录年至今?

How to select all records year to date in oracle?

我有一个 table 字段 create_date (unix-timestamp)。我怎样才能 select 过去 12 个月的所有记录?

谢谢 托马斯

您需要将 UNIX 时间戳转换为日期格式,然后使用 ADD_MONTHS 甚至减去它们。

-- SQL 查看和验证日期

select ADD_MONTHS(MYTABLE.CREATE_DATE, -12) from MYTABLE;

-- SQL 用来回答你的问题

select *
from MYTABLE
where MYTABLE.CREATE_DATE > ADD_MONTHS(SYSTIMESTAMP, -12);

您可以尝试如下操作。请记住,Unix 时间戳表示自 1970 年 1 月 1 日午夜以来经过的秒数:

SELECT * FROM mytable
 WHERE date'1970-01-01' + NUMTODSINTERVAL(create_date, 'SECOND') >= TRUNC(ADD_MONTHS(SYSDATE, -12));

我猜 create_date 的值在 1,400,000,000 左右。