在 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;
参考文献:
我在 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;
参考文献: