gpt4 book ai didi

php - 查找时间戳范围在另一个时间戳范围内的所有行

转载 作者:行者123 更新时间:2023-11-28 23:22:17 25 4
gpt4 key购买 nike

我需要选择 startdue 列范围落入另一个范围内的所有行。所有时间均以 unix 时间戳格式给出。

以下查询有效,除非 start <:weekstartdue > :weekend

$week_start = (new DateTimeImmutable())->setTimestamp($_REQUEST['startdatets']);
$week_start_ts = $week_start->getTimestamp();
$week_end = $week_start->modify('+6 days')->setTime(23,59,59);
$week_end_ts = $week_end->getTimestamp();

$query = " SELECT *

FROM schedules

WHERE ((start BETWEEN :weekstart AND :weekend) OR (due BETWEEN :weekstart AND :weekend))

ORDER BY start
";
try { $stmt = $dbh->prepare($query); $stmt->execute(array(':weekstart' => $week_start_ts, ':weekend' => $week_end_ts)); } catch(PDOException $ex) { echo 'Query failed: ' . $ex->getMessage(); exit; }

enter image description here

如果可能的话我需要两者都工作请帮忙。

最佳答案

啊,所以你错过了两个start < :weekstart的情况和 end > :weekend - 两者都不在两者之间,但周与范围重叠。这有一个很好的逻辑。

搜索句点 WHERE start < :weekend AND end > :weekstart

关于php - 查找时间戳范围在另一个时间戳范围内的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41031451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com