1

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

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

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

我从

15:00 至 17:00。

那么我不能在这段时间内预订这个项目。

这里有一些例子:

14:00 至 16:00 [无]
15:00 至 16:00 [无]
16:00 至 18:00 [无]
12:00 至 14:00 [有]
17:00 至 19 :00 [ 是 ]

看这段代码,这就是我已经可以做的。(小白)。

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'

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

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

谢谢

4

1 回答 1

3

检查“尝试保留”日期/时间是否在“保留”日期/时间范围之间:

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

如果计数为零,则不保留时隙。如果大于零,保留时隙。

于 2013-06-07T03:13:03.147 回答