1.我一个表内有个date字段,存入的时候是  2009-12-21 16:41:53 这种格式,,
我想查询的时候,根据这个字段查询出 2009-12-21这一天的数据
我的sql   
select * from teaminfo t where RKSJC=to_date('2009-12-21','yyyy-MM-dd');
这样查不不出来,数据库中有数据..请帮助,,2.还有就是如果是查询这种格式的指定日期之间的 数据.请帮下忙给个sql;

解决方案 »

  1.   

    RKSJC >= to_date('2009-12-21','yyyy-MM-dd') and 
    RKSJC < to_date('2009-12-22','yyyy-MM-dd')
      

  2.   

    1
    select * from teaminfo t where to_char(RKSJC,'yyyy-MM-dd')='2009-12-21'; 
    2
    select * from teaminfo t where to_char(RKSJC,'yyyy-MM-dd') between '2009-12-21' and '2009-12-31'; 上面这样不能走索引,如果效率有问题,可以考虑在RKSJC建一个函数索引to_char(RKSJC,'yyyy-MM-dd')。
      

  3.   

    这个字段是日期格式还是varchar2 类型的?select * from teaminfo where to_char(rksjc,'yyyymmdd')='20091221'
      

  4.   

    between '2009-12-21' and '2009-12-31';
      

  5.   

    select * from teaminfo t where RKSJC>=to_date('2009-12-21','yyyy-MM-dd'); 
      

  6.   

    select * from teaminfo t where RKSJC=to_date('2009-12-21','yyyy-MM-dd'); 
    因为你的RKSJC是长日期格式的,结果肯定没有了
    在你的日期上进行转换
    select * from teaminfo where to_char(rksjc,'yyyy-mm-dd')='2009-12-21'
      

  7.   


    1.
    select * from gjh_date where to_char(gjdate,'yyyy-mm-dd')='2009-12-21' ;
    2.
    select * from gjh_date t where to_char(gjdate,'yyyy-MM-dd') between '2009-12-21' and '2009-12-31'; 
      

  8.   


    select * from teaminfo t where to_char(RKSJC,'yyyy-MM-dd')='2009-12-21'; 2 
    select * from teaminfo t where to_char(RKSJC,'yyyy-MM-dd') between '2009-12-21' and '2009-12-31'; 
      

  9.   

    where trunc(RKSJC) =to_date('2009-12-21','yyyy-MM-dd'); 
      

  10.   

    楼主看看时间相关的函数,比如
    trunc,to_date,to_char等等,时间相关的用的比较多。
    比较一般用between and 或>/</>=等。
    between and相当于>= and <=,两边都有等号。