用两个参数STARTDATE,ENDDATE FIELD >= :StartDate and Field <= EndDate传入参数时 只取日期即可。、建议:有关日期的查询最好用参数
在SQL语句里用LIKE关键字不就行了
var ss:string;ss:=datetimepicker1.date; adoseq.add( select xxx from table1 where sj like '''+ss+[0.00-23.59]'''); 未运行过,但方法可行。
with ADOQuery1 do begin Active:=False; sql.clear; sql.add('select * from 表名 '); sql.add('where sj like :a ); parambyname('a').asstring:=Formatdatetime('yyyy-mm-dd',datetimepicker1.datetime); end;
'...where left(datetimefield,8)='+datetostr(datetimepicker1.date)
或者paradox库用copy取出来比较即可
FIELD >= :StartDate and Field <= EndDate传入参数时 只取日期即可。、建议:有关日期的查询最好用参数
ss:string;ss:=datetimepicker1.date;
adoseq.add(
select xxx
from table1
where sj like '''+ss+[0.00-23.59]''');
未运行过,但方法可行。
begin
Active:=False;
sql.clear;
sql.add('select * from 表名 ');
sql.add('where sj like :a );
parambyname('a').asstring:=Formatdatetime('yyyy-mm-dd',datetimepicker1.datetime);
end;
再用参数与字段值做比较,记得要显式设置SQL中的参数的类型 好象是stDataTime 你还是看一下帮助比较保险
d:=datetostr(datetimepicker1.date)+' 00:00:00.000';
v:=datetostr(datetimepicker1.date)+' 23:59:59.000';
Query1.Close;
query1.SQL.Clear;
Query1.SQL.Text:='Select * from table ';
query1.SQL.Add('and indate>=:ddd and indate<:v');