可能是你的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;
我日期的格式是char(10), 楼上的执行还是出问题
.. 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')
--第一 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')
上面两个有错--第一 select 'x' from dual where '2012-08-08' between to_char(SYSDATE,'yyyy')|| '-01-01' 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')
就是日期格式问题,你的日期是char(10)SELECT 产品编号,日期,收入 FROM 产品预算表 where 日期 between to_char(sysdate,'YYYY')||'-01-01' and to_char(sysdate,'YYYY-MM-DD')
select 产品编号,日期,收入 FROM 产品预算表 where 日期 between trunc(sysdate,'yyyy') and sysdate;
--第一
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')
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')
select 'x' from dual where '2012-08-08' between to_char(SYSDATE,'yyyy')|| '-01-01' 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')