近日在做有关数据统计的报表问题时,遇到了这样的一个难题,因为在SQL2000中,用来存时间的字段,我原先用的是CHAR类型,比较方便录入和提出显示,现在到统计时就无法进行统计了,再说,SQL语句也没有直接对时间进行统计的语句,像AVG和SUM只能对实数类型,不能用于时间和字符串,那怎么办呢?SQL不能直接算可以采用简接算法嘛!所以我就定义了一个时间类型的变量,把在数据库里面提出来的每一个记录由字符串转化为时间赋给该变量,进行循环相加便可实现了,思路如下:
var
tm: Ttime;
tm:=0;//初始化
with adoq do
begin
close;
sql.clear;
sql.add('提取此时间字段的值');
open;
while not eof do
begin
tm:=tm+strtotime(trim(fieldbyname('').astring));
next;
end;
showmessage(timetostr(tm));
这样就可以算得你要要的时间了!