我正在尝试使用一些条件来根据开始和结束日期选择记录。基本上我想要任何没有结束日期或在给定期间开始或在同一给定期间结束的东西。任何关于如何实现这一点的帮助或指导将不胜感激。我包括下面查询的 WHERE 部分和参数绑定,但如果需要可以包括更多。
$periodsCxn->bindParam(':PositionID',$PositionID);
$periodsCxn->bindParam(':Start',$firstPayPeriod);
$periodsCxn->bindParam(':End',$lastPayPeriod);
$periodsCxn->bindParam(':Start2',$firstPayPeriod);
$periodsCxn->bindParam(':End2',$lastPayPeriod);
WHERE
POSITION_PERIOD.PositionID = :PositionID AND
(
(
POSITION_PERIOD.EndDate = '1900-01-01'
OR
POSITION_PERIOD.EndDate IS NULL
)
OR
(
POSITION_PERIOD.StartDate BETWEEN :Start AND :End
OR
POSITION_PERIOD.EndDate BETWEEN :Start2 AND :End2
)
)