select * from 表 where 日期 between '2003-1-1' and '2003-1-2'
query1.sql.add('select 字段 from 表名 where (时间字段>='+''''+datetimepicker.date+''''+' and 时间字段<='+''''datetimepicker.date+''''+ ')');
to xinxincao (辛欣草) friend: var lsSql : String; begin select * from tableName where date(字段名)between "+datetimepicker1.text+" and "+datetimepicker2.text; //或者用 where date>="+datetimepicker1.text+" and date<=+"+datetimepicker2.text; end;
select * from 表 where 日期 between DateTimePicker1.date and DateTimePicker2.date
给个完整点的给你: procedure TForm1.Button1Click(Sender: TObject); var date1,date2: TDateTime; WhereStr: string; begin date1:= DateTimePicker1.Date; date2:= DateTimePicker2.Date; WhereStr:= 'where rq between '+#39+DateToStr(date1)+#39+' and '+#39 +DateToStr(date2)+#39 ; query1.Close; query1.SQL.Clear; query1.SQL.Add('select * from shop1'); query1.SQL.Add(WhereStr); query1.Open; end;
呵。知道的人挺多的嘛。 其实你只要用 SHOWMESSAGE(''select 字段 from 表名 where (时间字段>='+''''+datetimepicker.date+''''+' and 时间字段<='+''''datetimepicker.date+''''+ ')''); 如果编译成功,则可以运行看看语句。 如果编译不成功,则你的SHOWMESSAGE本身就没处理好。 我常用这个。
和用什么库也有关系吧。 我用Foxpro,时间字段很阁路啊:)
和数据库是有关系,如果你用Oracle数据库,你的时间格式就和其它数据库不一样 select * from 表 where 时间 between 开始时间 and 结束时间
select 字段 FROM TABLENAME WHERE BETWEEN ''''+datetimepicker1.DATE+'''' AND ''''+datetimepicker.date+''''
sql.add('select * from TABLENAME WHERE 发送时间>='''+DateToStr(startDTP.datetime)+''' and 发送时间<='''+DateToStr(endDTP.datetime)+'''');
sql.add('select * from TABLENAME WHERE 时间>='''+DateToStr(datetimepicker1.datetime)+''' and 时间<='''+DateToStr(datetimepicker2.datetime)+'''');
那就具体加到秒钟去 sql.Add( fdate<=:ssdate group by a.fvmcode'); Parameters.ParamByName('ssdate').Value:=strtodatetime(formatdatetime('yyyy-mm-dd',sdate)+' 23:59:59');
a:=datetimetostr(timepicker1.datetime); b:=datetimetostr(timepicker2.datetime); select * from TABLENAME WHERE to_char(时间,'yyyy-mm-dd hh24:mi')>=a and to_char(时间,'yyyy-mm-dd hh24:mi')<=b;
同意: fzuelephant(四两)的方法,最好用参数。
select * from TABLENAME WHERE convert(varchar(10),时间,120) between '''+formatdatetime('yyyy-mm-dd',datetimepicker1.DATE)+''' and '''+formatdatetime('yyyy-mm-dd',datetimepicker2.DATE)+'''
select * from TABLENAME where Time>:P1 and Time<:P2 param...(p1).AsDatetime:=datetimepicker1.Date; Param...(P2).AsDatetime:=datetimepicker2.Date;
where 日期 between '2003-1-1' and '2003-1-2'
')');
var
lsSql : String;
begin
select * from tableName where date(字段名)between "+datetimepicker1.text+" and "+datetimepicker2.text;
//或者用 where date>="+datetimepicker1.text+" and date<=+"+datetimepicker2.text;
end;
where 日期 between DateTimePicker1.date and DateTimePicker2.date
procedure TForm1.Button1Click(Sender: TObject);
var
date1,date2: TDateTime;
WhereStr: string;
begin
date1:= DateTimePicker1.Date;
date2:= DateTimePicker2.Date;
WhereStr:= 'where rq between '+#39+DateToStr(date1)+#39+' and '+#39
+DateToStr(date2)+#39 ;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from shop1');
query1.SQL.Add(WhereStr);
query1.Open;
end;
其实你只要用
SHOWMESSAGE(''select 字段 from 表名 where (时间字段>='+''''+datetimepicker.date+''''+' and 时间字段<='+''''datetimepicker.date+''''+
')'');
如果编译成功,则可以运行看看语句。
如果编译不成功,则你的SHOWMESSAGE本身就没处理好。
我常用这个。
我用Foxpro,时间字段很阁路啊:)
select * from 表 where 时间 between 开始时间 and 结束时间
WHERE BETWEEN ''''+datetimepicker1.DATE+'''' AND ''''+datetimepicker.date+''''
sql.Add( fdate<=:ssdate group by a.fvmcode');
Parameters.ParamByName('ssdate').Value:=strtodatetime(formatdatetime('yyyy-mm-dd',sdate)+' 23:59:59');
b:=datetimetostr(timepicker2.datetime);
select * from TABLENAME WHERE to_char(时间,'yyyy-mm-dd hh24:mi')>=a and to_char(时间,'yyyy-mm-dd hh24:mi')<=b;
select * from TABLENAME
WHERE convert(varchar(10),时间,120)
between '''+formatdatetime('yyyy-mm-dd',datetimepicker1.DATE)+''' and '''+formatdatetime('yyyy-mm-dd',datetimepicker2.DATE)+'''
param...(p1).AsDatetime:=datetimepicker1.Date;
Param...(P2).AsDatetime:=datetimepicker2.Date;