SQL两个日期之间的存储逻辑


SQL Storage logic between two dates

我真的很想得到你的帮助。我遇到了以下问题:

我有一个产品商店应用程序,我输入两个日期(DATETIME),初始日期和最终日期。

和a我需要验证所有异常,例如:

我从

中保留了一个项目

15:00 - 17:00

那么我在这段时间内无法预订这本书。

下面是一些例子:

从14:00到16:00 [no]
从15:00到16:00 [no]
从16:00到18:00 [no]
从12:00到14:00 [yes]
从17:00到19:00 [yes]

看这段代码,那是我已经能做的。(新手)。

SET @START = DATE('2013-06-06 15:30:00');
SET @FINAL = DATE('2013-06-06 16:00:00');
INSERT INTO `store` (`start_date`, `final_date`) VALUES ('2013-06-06 15:00:00', '2013-06-06 17:00:00');
SELECT IF(COUNT(*) > 0, 'NO', 'YES') FROM `Store` WHERE
    (`start_date` BETWEEN @START AND @FINAL); -- OUTPUT 'NO'

用这段代码,我解决了这样一个问题,我可以验证两个日期之间的内容,但如果通知的日期之一超出了这些范围,它就会失败。

记住,我也可以使用后端语言来帮助。

Thank you

检查"尝试保留"日期/时间是否在"保留"日期/时间范围内:

SELECT IF(COUNT(*) = 0, 'NO', 'YES')
FROM Store
WHERE @Start BETWEEN start_date AND final_date
   OR @Final BETWEEN start_date AND final_date

当计数为0时,表示该时隙为而非预留。如果大于0,则保留时隙