固定時間範囲の間でどのように多くの時間2つの日付時刻の確認方法

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_time17時間未満です。

least(time(endtime), '22:00:00' 終了時間が22Hより大きい場合は22Hを生成します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=298810&siteId=1