如果你定义成DATE型,就是你存储的时候写入的是年月,但是保存在数据库里的时候会自动加上日期。因为你保存的时候必须用to_date来转换,而这个函数会自动加上日期:
create table test(dt date);
insert into test values (to_date('2014/01','yyyy/mm'));
insert into test values (to_date('2014/08','yyyy/mm'));
select * from test;select to_date('2014/01','yyyy/mm') from dual;

解决方案 »

  1.   

    其实我觉得把数据库字段设置成date类型挺麻烦的.不如直接设置成verchar类型..依然可以直接用日期between来获取时间段的数据..只是需要转换时间的时候加上to_date而已..
      

  2.   

    如果你定义成DATE型,就是你存储的时候写入的是年月,但是保存在数据库里的时候会自动加上日期。因为你保存的时候必须用to_date来转换,而这个函数会自动加上日期:
    create table test(dt date);
    insert into test values (to_date('2014/01','yyyy/mm'));
    insert into test values (to_date('2014/08','yyyy/mm'));
    select * from test;select to_date('2014/01','yyyy/mm') from dual;
    恩,谢谢
      

  3.   

    如果你定义成DATE型,就是你存储的时候写入的是年月,但是保存在数据库里的时候会自动加上日期。因为你保存的时候必须用to_date来转换,而这个函数会自动加上日期:
    create table test(dt date);
    insert into test values (to_date('2014/01','yyyy/mm'));
    insert into test values (to_date('2014/08','yyyy/mm'));
    select * from test;select to_date('2014/01','yyyy/mm') from dual;
    恩,谢谢
    如果问题解决请结贴