在 oracle 中查找超过 30 天的记录 sql

Find records older than 30 days in oracle sql

我在 Oracle BI 中与一些 SQL 一起工作,并试图查找从上个月开始到从今天开始 30 天的日期范围内的结果。我浏览了此处所有类似的文章并尝试了他们的编码,其中 none 成功了。这是我最新的:

FROM“NAME”WHERE "Day Dimension"."Start Date" <= TIMESTAMPADD(SQL_TSI_DAY, -30, DATE'@{day} ')

这似乎让我最接近,但 Oracle 不识别“@{day}”标准。有人可以帮忙吗?

对于 OBIEE 报告:

timestampadd(SQL_TSI_DAY,-30,CURRENT_DATE) 

(或)

SYSDATE, cast(EVALUATE('SYSDATE-30') as timestamp) 

对于 SQLPLUS,试试这个 - SYSDATE 将 return 当前日期;天数减去 30:

SELECT * 
FROM   TABLE
WHERE  DATE_FIELD < SYSDATE-30;

参考文献:

http://oracle.ittoolbox.com/groups/technical-functional/oracle-bi-l/how-to-use-sysdate-function-in-obiee-reports-4291644