sql - 从当前 sysdate 中检索最近两年的数据

标签 sql oracle

您好我被困在一个 oracle 查询中,我想根据当前年份检索前两年的数据,比如 2013 年,所以我想检索 2011 年和 2012 年的所有记录我已经完成了以下查询但是我卡在日期格式上 我对 Oracle 还很陌生 这是查询

Select 
to_date(stage_end_date,'yy') Years,SUBPRODUCT Product,sum(OFFER_COUNT) SumCount
    ,sum(offer_amount)SumAmount
from stage_amt  
and 
Offer_amount !=0 
and 
to_date(stage_end_date,'yy')
between to_char( sysdate, -2 ) and to_char( sysdate)
group by to_date(stage_end_date,'yy'),SUBPRODUCT
order by Years asc;

我收到这个错误 ORA-00932: 数据类型不一致: 预期的 DATE 得到 NUMBER 00932. 00000 - “不一致的数据类型:预期的 %s 得到了 %s” 任何人都可以帮我做什么

问候

最佳答案

这个怎么样?

where stage_end_date >= trunc(sysdate, 'yyyy') - interval '2' year
  and stage_end_date <  trunc(sysdate, 'yyyy');

关于sql - 从当前 sysdate 中检索最近两年的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861302/

相关文章:

sql - 如何从日期PostgreSQL中提取一个月中的星期几

java - Android SQLite数据库主键查询

sql - 如何使用 100 条记录的表中每一行的不同值更新表中所有行的列

sql - Oracle 阻塞重复插入

php - 从表中获取多个条目并添加它们

sql - 帮助 mysql 查询/过程

c# - XML 到 Oracle 数据库列映射

sql - Oracle SQL 语句 select u'' from dual

java - EclipseLink 在 Oracle DB 上生成重复的主键

Java 存储过程在 Oracle 数据库中不返回任何内容