0

私は2回start_timeend_timechar型を持っています。それらの違いを見つける方法は?

たとえば、mystart_timeが午前 10:00 で午前end_time11:15 の場合、時差は 1:15 と表示されます。

4

5 に答える 5

1

これを試して:

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
于 2012-08-10T11:33:55.130 に答える
0

これにより、差が分単位で得られます。

select DATEDIFF (minute, starttime, endtime)

DATEDIFFを参照してください

于 2012-08-10T11:31:26.553 に答える
0

次のクエリを試してみてください。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');
于 2012-08-10T12:22:42.673 に答える
0

これを試して:

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

このフィドルを参照してください

于 2012-08-10T11:39:54.673 に答える
0

次のようにできます。

SELECT LEFT(convert(varchar,CAST('11:15 AM AS DATETIME)-CAST('10:00 AM' AS DATETIME),108),5)
于 2012-08-10T11:42:59.117 に答える