怎样查出某个时间类型字段等于今天的所有记录(100分)

  • 主题发起人 主题发起人 xsoftbox
  • 开始时间 开始时间
X

xsoftbox

Unregistered / Unconfirmed
GUEST, unregistred user!
这个时间字段包括日期、时间两部分。
 
with query do
begin
SQL.text:='select * from tablename where dt=:dt';
parambyname('dt').asdate=date; //asdate会把time截了
end;
返回的结果就是今天的记录
 
var
Year,Month,Day:word;
SqlText,DateStr:String;
begin
with Query1 do
begin
Sql.Clear;
DecodeDate(Now,Year,Month,Day);
DateStr:=''''+InttoStr(Year)+'-'+InttoStr(Month)+'-'+InttoStr(Day)+'''';
SqlText:='Select * from czx where DateTime';
SqlText:=SqlText+' between '+DateStr+' and DateAdd(ms,-2,DateAdd(dd,1,'+DateStr+'))';
Sql.Add(SqlText);
Prepare;
Open;
end;
end;
这断代码在Sqlserver7.0测试过。
 
with query do
begin
SQL.text:='select * from tablename where dt>=:dt1 and dt<=:dt2';
parambyname('dt1').asdatetime=strtodatetime(datetostr(date)+' 0:00:00');
parambyname('dt2').asdatetime=strtodatetime(datetostr(date)+' 23:59:59');
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部