如何 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 左右。
我有一个 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 左右。