0

Vacation在mysql DB中有表。该表有datetime_fromdatetime_to。周一到周五放假意味着表中只有一条记录有两个时间戳

  • date_from='MONDAY_DATE 00:00:00'
  • date_to='FRIDAY_DATE 23:59:59'

工作时间为每天8:00至16:00。我想获取员工在假期期间错过的所有工作时间(例如以小时为单位)。每天 8 小时 x 5。

我能够在 5 个查询中做到这一点(每天一个,然后用 PHP 总结)作为日期间隔的交集但是是否可以只在一个 mysql 查询中执行它

4

1 回答 1

0

SELECT SUM(date_to - date_from) 作为seconds_missedFROM Vacation WHERE ...

假设 where 子句将其与给定用户匹配,这将为您提供员工错过的总秒数。我想您还可以在 where 子句中添加条件以仅获取特定范围内的日期(即那周错过了工作)。

于 2013-06-20T20:28:37.863 回答