我用的是DELPHI+ORACLE
请问 在SQL EXPLORER 中如何写一个查询时间的语句。
EG:从表(student)中查询开学时间(KXSJ)在2003-20-1 和2003-03-01 之间的语句

解决方案 »

  1.   

    select * from yourtablefile while date1 between date2
    date1:开始日期
    date2:终止日期你试下可以没???同时关注高手指点。
      

  2.   

    with query1 do
      begin
      sql.clear;
      sql.add('select * from student');
      sql.add(' where to_char(kxsj,''yyyymmdd'')<=:vdate1');
      sql.add(' and to_char(kxsj,''yyyymmdd'')>=:vdate2');
      params[0].asstring:='20030301';
      params[1].asstring:='20032001';
      open;
      end;
      

  3.   

    select * from student 
    where kxsj between to_date('2003-02-01','yyyy-mm-dd') 
      and to_date('2003-03-01','yyyy-mm-dd')
      

  4.   

    jiezhi(西域浪子) 的方法比较好!效率比较高,如果想使用cdkey(cdkey) 的方法,那么这样改一下,效率会高一些!!!
    with query1 do
      begin
      sql.clear;
      sql.add('select * from student');
      sql.add(' where kxsj <= To_Date(:vDate1||''000000'', ''YYYYMMDDHH24MISS'' )');
      sql.add(' and kxsj >= To_Date( :Vdate2||'23595999',''YYYYMMDDHH24MISS'')');
      params[0].asstring:='20030301';
      params[1].asstring:='20032001';
      open;
      end;
    cdkey(cdkey) 写法中,每一条记录的数据都要进行一次To_Char的转换,所以效率低一些!!!
      

  5.   

    条件用BETWEENAND不就行了吗???