itranger:
私は、次のような状況があります。
私は17Hから22HにAの時間範囲を持っています。
例えば、私は、次の情報を含む行を持っています。
Starttime (datetime): 2020-03-16 13:15:00
Endtime (datetime): 2020-03-16 19:45:00
( - > 2:45H)どのように私は、固定時間範囲の間にある時間数を取得することができます
GMB:
日間のまたがらないこと、開始/終了時間を仮定すると、あなたが使用することができtimediff()
、greatest()
そしてleast()
:
select timediff(
greatest(time(start_time), '17:00:00'),
least(time(endtime), '22:00:00')
)
greatest(time(start_time), '17:00:00')
(の時間成分)があれば、あなたに17時間を与えるstart_time
17時間未満です。
least(time(endtime), '22:00:00'
終了時間が22Hより大きい場合は22Hを生成します。