[英]SUM ROWS OF VARCHAR DATATYPE or TIME DATATYPE in MYSQL
我的表CalTime有一列Timespent,屬於Time數據類型。 它以HH:MM:SS格式存儲值。 請建議如何求和該列的值。
Timespent
_______
00:07:00
01:05:00
00:49:00
我想像這樣打印總數02:01:00。
我想知道是否有使用php的替代方法。
PS:我嘗試使用php進行操作,使用strtotime將每個列值(在while循環中)轉換為時間戳,然后添加它們,並使用date('H:i:s')將其轉換回HH:MM:SS所需的格式。 這似乎不起作用。 代碼看起來像這樣。
<?php while(...)
{
$ts += strtotime($timeCal['timespent']);
} ?>
在幾秒鍾內將其轉換,然后求和,然后回到時間:
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `timespent` ) ) ) AS timeSum
FROM CalTime
這是一個簡單的功能。 您可以遍歷數組中的值以繼續添加到以下代碼中。
//Incase strtotime gives any errors
date_default_timezone_set('America/New_York');
//
$mytime1 = "00:07:00";
$mytime2 = "01:05:00";
$secs = strtotime($mytime2)-strtotime("00:00:00");
$result = date("H:i:s",strtotime($mytime1)+$secs);
偽代碼循環示例。
在php數組中返回mysql結果
$mytime1 = $myTimeArray[0];
$result = 0;
for($i=0;i<sizeOf($myTimeArray;$i++)) {
$secs = strtotime($mytime[$i])-strtotime("00:00:00");
$result + = date("H:i:s",strtotime($mytime1)+$secs);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.