gpt4 book ai didi

php - 使用 SQL 检查预约时间是否适合用户工作时间 - 夜间建议错误

转载 作者:行者123 更新时间:2023-11-30 01:03:15 25 4
gpt4 key购买 nike

我定义了员工的工作时间,也称为工作时间,例如

$start = "09:00:00";
$end = "18:00:00";

用户现在可以选择约会,查询应该验证它,例如

$appointment_start = "09:00:00";
$appointment_end = "10:00:00";

My SQL 查询现在应该检查员工是否在该特定时间工作。如果是这种情况,请向用户建议此预约。我就是这样做的:

...
AND w.start <= '$appointment_start'
AND w.end >= '$appointment_end';

夜间白天变化时似乎会出现问题,例如当开始时间为 23:00:00结束时间为 00:30:00 时。这不应该是有效的预约时间,但我的查询建议这样做:

start substr: 23:00:00 || end substr: 00:00:00 
start substr: 23:30:00 || end substr: 00:30:00

如何更改 SQL 查询的 WHERE 语句才能解决此问题?

最佳答案

您可以使用日期时间而不仅仅是时间来完全避免此问题。

或者你可以这样做:

    AND (( w.start < w.end
AND w.start <= '$appointment_start'
AND w.end >= '$appointment_end') OR
( w.start > w.end
AND w.start >= '$appointment_start'
AND w.end <= '$appointment_end' ) )

基本上,当开始发生在结束之后时,您会反转比较运算符。

关于php - 使用 SQL 检查预约时间是否适合用户工作时间 - 夜间建议错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915114/

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