【发布时间】:2013-03-29 11:37:28
【问题描述】:
您好,我被困在一个 oracle 查询中,我想根据当前年份检索前两年的数据,比如 2013 年,所以我想检索 2011 年和 2012 年的所有记录,我已经完成了以下查询,但是 m卡在日期格式上我对 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” 任何人都可以帮我做什么
问候
【问题讨论】:
-
stage_end_date是什么数据类型 -
那你为什么要用
to_date()呢?to_date()将字符值转换为日期值。当你已经有一个日期时使用它是没有用的。 -
对不起,在原来的查询中我不得不 to_char 我想我可能已经把我正在做研发的查询放在上面,但它帮助我学习新的东西这样的错误