读书人

小弟我有一个CHAR类型的字段,请教怎么

发布时间: 2012-02-20 21:18:23 作者: rapoo

我有一个CHAR类型的字段,请问如何对这个字段求和,急急!
我有一个CHAR类型的字段,存储如下:
12:00
1:10
2:10
3:15
请问如何对这个字段求和得出:18:35的值,因为存的都是花去的时间量,然后求和是为了得到总的花去了的时间量是多少,请大家帮帮忙啊!急急!

[解决办法]
通过:将时间分成两部分,第一部分*60加上第二部分得到总时间然后sum,然后再除以60得到商及余数形成你的累计时间


你用的是什么数据库?
[解决办法]
直接把时间转成TDateTime,TDateTime等价于double类型,就可以做加减操作。

转时间,比如12:00-〉12:00:00,
function ConvertStrToDateTime(sTime: string): TDateTime;
var
tmp: TDateTime;
begin
sTime := Trim(sTime)+':00';
result := StrToDateTime(sTime);
end;

调用
ConvertStrToDateTime('12:00')+ConvertStrToDateTime('1:10')+ConvertStrToDateTime('2:10')+...

没有调试,以上只是思路。

[解决办法]
oracle 中可以这样

select trunc(sum(substr(ctime,1,instr(ctime,':')-1)*60+substr(ctime,instr(ctime,':')+1,length(ctime)))/60)||':'|| mod(sum(substr(ctime,1,instr(ctime,':')-1)*60+substr(ctime,instr(ctime,':')+1,length(ctime))),60) from tmp2

读书人网 >.NET

热点推荐