在表a2中有一个time的日期字段存储的日期格式为:2003-01-02 10:30:32
   
  工程中有一个名为DateTimePicker1的DateTimePicker的控键
  
   我想根据DateTimePicker1中选择的时间查询表a2中time字段的所有年和月都与DateTimePicker1中选定的时间相同的记录,请问sql语句怎么写

解决方案 »

  1.   

    ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('SELECT * FROM TABLE WHERE TIME BETWEEN :StartDate and :EndDate');
      ADOQuery1.Parameters.ParamByName('StartDate').Value := DateTimePicker1.Date;
      ADOQuery1.Parameters.ParamByName('EndDate').Value := DateTimePicker2.Date;
      ADOQuery1.Open;
      

  2.   

    temp_start_date := DateTimePicker_begin.DateTime;
     temp_end_date   := Datetimepicker_end.DateTime; SQL.Add('Select * from 表');
     SQL.add(FORMAT('字段名 >= ''%s'' ',[FormatDatetime('yyyy-mm-dd 00:00:01', temp_start_date)]));
          SQL.add(FORMAT('and p.dhxj_rq < ''%s'' ',[FormatDatetime('yyyy-mm-dd 00:00:00', temp_end_date+1 )]));
      

  3.   

    拆分日期:年、月、日
    DecodeDate(dDate,iYear,iMonth,iDay);
      

  4.   

    第一步:用DecodeDate()来把DateTimePicker1的年、月、日拆出来
    第二步:SQL语句这么写:
    select * from [a2]
      where datepart(year, [time]) = 年份值
        and datepart(month, [time]) = 月份值