我真的很想得到你的帮助。我遇到了以下问题。
我有一个产品商店应用,我输入两个日期(DATETIME
),初始和最终日期。
我需要验证所有异常,例如:
我保留了
中的项目15:00至17:00。
然后我不能在此期间保留此项目。
这里举一些例子:
从14:00到16:00 [no]
从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'
使用此代码,我解决了我可以验证两个日期之间的关系的问题,但是如果其中一个日期超出了这些范围,则会失败。
记住我也可以使用后端语言来提供帮助。
谢谢
答案 0 :(得分: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
如果计数为零,则时间段不保留。如果它大于零,则时间 保留。