我在 sqldate1 varchar(4)
和date2 varchar(4)
. 日期格式就是HHmm
HH 是小时,mm 是分钟。
无论如何,在 SQL 中我们可以将两个时间戳相加并计算出多少小时和分钟?
例如
date1 = 0230 date2 = 0145 will total 0415
date1 = 0030 date2 = 0035 will total 0105
我在 sqldate1 varchar(4)
和date2 varchar(4)
. 日期格式就是HHmm
HH 是小时,mm 是分钟。
无论如何,在 SQL 中我们可以将两个时间戳相加并计算出多少小时和分钟?
例如
date1 = 0230 date2 = 0145 will total 0415
date1 = 0030 date2 = 0035 will total 0105
declare @d1 varchar(4), @d2 varchar(4), @dif int
set @d1 = '0230'
set @d2 = '0145'
set @dif = (CAST(left(@d1, 2) as int) * 60) + (CAST(left(@d2, 2) as int) * 60) + CAST(right(@d1, 2) as int) + CAST(right(@d2, 2) as int)
select RIGHT('00' + cast(floor(@dif / 60) as varchar), 2) + RIGHT('00' + CAST(@dif % 60 as varchar),2)
不确定这些真的是时间戳,什么不将它们存储为整数?
无论如何..不确定是否有mysql功能。您可以浏览:http ://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html 不确定它会提供多少帮助。如果您将它们存储为秒,那么您可以简单地让 mysql 添加它们,否则将它们拉入脚本中,将它们转换为秒,将它们加在一起,然后在需要时转换为更易读的格式。
试试这个(使用时间或日期时间):
select ADDTIME(time1,time2);
在 mysql 中,时间的形式是
'01:02:03'
日期时间是
'2003-12-31 01:02:03'
如果您碰巧使用 SQL Server,您也可以使用此处描述的 DATEDIFF 函数:http: //msdn.microsoft.com/en-us/library/ms189794.aspx
这将使您获得日期时间值的任何部分之间的差异。DATEADD 也可能对此有用,具体取决于您要如何处理它。