我有 2 次start_time
和end_time
char 类型。如何找到它们之间的区别?
例如我start_time
是上午 10:00 和end_time
上午 11:15,那么时差应该显示为 1:15
我有 2 次start_time
和end_time
char 类型。如何找到它们之间的区别?
例如我start_time
是上午 10:00 和end_time
上午 11:15,那么时差应该显示为 1:15
尝试这个:
declare @starttime varchar(10)='10:00 AM'
declare @endtime varchar(10)='11:15 AM'
select cast((datediff(Mi,convert (time,@starttime),
convert (time,@endtime))/60) as varchar(5))+':'+
cast((datediff(Mi,convert (time,@starttime),
convert (time,@endtime))%60) as varchar(5))
1:15
你可以这样做:
SELECT LEFT(convert(varchar,CAST('11:15 AM AS DATETIME)-CAST('10:00 AM' AS DATETIME),108),5)
尝试这个:
SELECT left(CONVERT(varchar(12), DATEADD(ms, DATEDIFF
(ms, CAST('10:00 AM' AS DATETIME), CAST('11:15 AM' AS DATETIME)) , 0), 108),5);
结果
01:15
SELECT left(CONVERT(varchar(12), DATEADD(ms, DATEDIFF
(ms, CAST('09:00 AM' AS DATETIME), CAST('11:15 AM' AS DATETIME)) , 0), 108),5);
结果
02:15
试试这个查询,它在 MySQL 中运行良好:
select TIME_FORMAT((TIME( STR_TO_DATE( '11:15 PM', '%h:%i %p' ) ) - TIME( STR_TO_DATE( '10:00 PM', '%h:%i %p' ))),'%h:%i');