日期:2014-05-17  浏览次数:20784 次

求大神帮忙看看SQL语句错在哪里
SELECT 产品编号,日期,收入 FROM 产品预算表 where 日期 between to_char(sysdate,'YYYY')||'-01-01' and 'sysdate'


这个语句是想要查出本年的累计数,现在的出现的问题好像WHERE条件不起作用,求大神帮忙看看,谢谢

------解决方案--------------------
可能是你的session日期格式的问题,直接用date类型来比较吧
select 产品编号,日期,收入 FROM 产品预算表 where 日期 between trunc(sysdate,'yyyy') and sysdate;



------解决方案--------------------
SELECT 产品编号,日期,收入 FROM 产品预算表 where 日期 BETWEEN  TO_DATE((to_char(SYSDATE,'yyyy')
------解决方案--------------------
 '-01-01'),'yyyy-mm-dd') AND SYSDATE;
------解决方案--------------------
.. where to_date(日期,'yyyy-mm-dd')...就可以了
------解决方案--------------------

--第一
select 'x' from dual where to_date('日期字段例:2012-08-08','yyyy-MM-dd') between to_date(to_char(SYSDATE,'yyyy')
------解决方案--------------------
 '-01-01','yyyy-MM-dd') and to_char(sysdate,'yyyy-MM-dd'); 
--第二
select 'x' from dual
where to_date('日期字段例:2012-05-05','yyyy-MM-dd') between (to_date(to_char(SYSDATE,'yyyy')
------解决方案--------------------
 '-01-01','yyyy-MM-dd')) and to_date(to_char(sysdate,'yyyy-MM-dd') ,'yyyy-MM-dd')