Php 如何在sql中显示两个给定日期之间的值

Php 如何在sql中显示两个给定日期之间的值,php,mysql,Php,Mysql,我已为具有日期范围的员工分配了班次 我必须列出特定月份(比如10月份)的班次 我将为班次分配班次开始日期和班次结束日期 假设轮班开始日期为10月28日,轮班结束日期为11月4日 现在,如果要显示为11月份分配的班次,则不显示该日期的班次 我已经用电脑检查过了 shiftStartDate>=oct 1 及 shiftEndDate您可以使用mysql中的BETWEEN函数来选择特定日期介于两个给定日期之间的数据(即shiftStartDate和shiftEndDate列) 例如: SE

我已为具有日期范围的员工分配了班次

我必须列出特定月份(比如10月份)的班次

我将为班次分配班次开始日期和班次结束日期

假设轮班开始日期为10月28日,轮班结束日期为11月4日

现在,如果要显示为11月份分配的班次,则不显示该日期的班次

我已经用电脑检查过了

shiftStartDate>=oct 1 


shiftEndDate您可以使用mysql中的
BETWEEN
函数来选择特定日期介于两个给定日期之间的数据(即shiftStartDate和shiftEndDate列)

例如:

SELECT *
FROM
    example_table
WHERE
    (example_date BETWEEN shiftStartDate AND shiftEndDate);

示例_date是您要检查的日期,例如“2018-10-11”。

如果班次的开始和结束有DATETIME列,则您需要查询当前或之前开始的所有班次,或当前月份内或之后结束的所有班次,例如获取8月份的班次:

SELECT * FROM `shift`
  WHERE `start` <= '2018-08-31'
  AND `end` >= '2018-08-01';
从'shift'中选择*`
其中“开始”=“2018-08-01”;
我在查询后实际计算的轮班天数


另外,请确保使用正确的日期时间格式。

您的意思是
shiftStartDate>=10月1日
shiftEndDate>=10月31日
?请参见:在我的表格中,我有一个员工姓名、轮班开始日期和结束日期。对于员工姓名“a”,轮班开始日期为2018年10月14日,轮班结束日期为2018年10月17日。员工“b”班开始日期为2018年10月26日,结束日期为2018年11月4日。现在我必须显示10月份的班次(这是动态值)。如果我搜索10月份的班次,则应显示员工a在10月份所有天的班次和员工b在10月份六天的班次
SELECT * FROM `shift`
  WHERE `start` <= '2018-08-31'
  AND `end` >= '2018-08-01';