我的表中字段 data为getdate()得到的,设计类型为:smalldatetime。里面的数据如:2012-02-13 11:33:00,
2012-02-13 11:45:13
   我现在想用datetimepicker选取相应的日期,例如 2012-02-13,去查询今天的记录.那我应该在select 表名 where data =‘?’,该怎么去设置呢,不进行格式处理,好像查询没结果,那我想过用like,结果什么都没查询到。该怎么办,求各位大虾指教。

解决方案 »

  1.   

    是不是设计一变量如:temp,用来存储日期,可是具体的我不知该怎么写?
      

  2.   

    select 表名 where data > '2012-02-13' and data < '2012-02-14'
      

  3.   

    我一般用float来代替datetime字段。
      

  4.   

     var
    str1,str2:string; 
    str1:=formatdatetime('YYYY-MM-DD',datetimepicker1.date) ;  //取起始结束时间
        str2:=formatdatetime('YYYY-MM-DD',datetimepicker2.date) ;
    sqlstr:='select 日期 from table where 日期>='+Quotedstr(trim(str1))+'and 日期 <='+Quotedstr(trim(str2));
      

  5.   


    select * from table where convert(varchar,Data,23)='2012-2-13'
      

  6.   

    'select 表名 where data>='''+formatdatetime('YYYY-MM-DD',datetimepicker1.date)+''' and data<'''+formatdatetime('YYYY-MM-DD',IncDay(datetimepicker1.date))+''''
      

  7.   

    select * from table where convert(varchar(20),tDate,23)='2012-2-13'
    或者
    select * from table where tDate between '2012-2-13 00:00:00' and '2012-2-13 23:59:59'
      

  8.   

    'select * from table where convert(varchar(10),getdate(),120)='+DateToStr(DateTimePicker1.Date)