数据库有一个CHAR类型的字段,是用来存储时间的,如:1:20(一个小时20分),怎么对它算平均值和总值?

近日在做有关数据统计的报表问题时,遇到了这样的一个难题,因为在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));
这样就可以算得你要要的时间了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值