我已经为员工分配了日期范围内的班次。我得列出特定月份的班次,比如说10月份。我将分配带有班次开始日期和班次结束日期的班次。假设轮班开始日期为10月28日,轮班结束日期为11月4日。现在,如果要显示分配给11月份的班次,则不显示该日期的班次。我已经检查过了
shiftStartDate>=oct 1
以及
shiftEndDate<=oct31
我还尝试了使用between查询。如果轮班开始日期和结束日期在同一个月内,则此操作正常。
2uluyalo1#
如果您有班次开始和结束的日期时间列,则需要查询在当前或之前开始或在当前月份或之后结束的所有班次,例如,要获取八月的班次:
SELECT * FROM `shift` WHERE `start` <= '2018-08-31' AND `end` >= '2018-08-01';
我在查询后实际计算的轮班天数。还要确保使用正确的日期时间格式。
omtl5h9j2#
你可以利用 BETWEEN 函数在mysql中选择特定日期介于两个给定日期之间的数据(即shiftstartdate和shiftenddate列)。例子:
BETWEEN
SELECT * FROM example_table WHERE (example_date BETWEEN shiftStartDate AND shiftEndDate);
例如,日期是您要核对的日期,例如“2018-10-11”。
2条答案
按热度按时间2uluyalo1#
如果您有班次开始和结束的日期时间列,则需要查询在当前或之前开始或在当前月份或之后结束的所有班次,例如,要获取八月的班次:
我在查询后实际计算的轮班天数。
还要确保使用正确的日期时间格式。
omtl5h9j2#
你可以利用
BETWEEN
函数在mysql中选择特定日期介于两个给定日期之间的数据(即shiftstartdate和shiftenddate列)。例子:
例如,日期是您要核对的日期,例如“2018-10-11”。