【发布时间】:2016-06-07 03:52:45
【问题描述】:
场景是 DEMO001 系统在 8 月 10 日至 8 月 11 日期间被某个用户预订。
START_DATE END DATE SYSTEM
2016-08-10 2016-08-11 DEMO001
2016-09-05 2016-09-08 DEMO001
2016-08-08 2016-08-11 DEMO013
2016-08-16 2016-08-18 DEMO017
如果其他用户在这几天之间尝试预订此系统。我们必须检查并通过 0 或 1。
我会得到一个输入参数
1) start_date as 2016-08-08 and 2016-08-15.
2) 2016-09-06 and 2016-09-07
3) 2016-08-08 and 2016-08-09
我必须编写一个 PLSQL/SQL 代码来传递 0,因为 DEMO001 介于这些开始数据和输入的结束日期之间,否则传递 1。
请帮忙。
【问题讨论】:
-
如果两个 span 不是嵌套的,而是重叠的(在 start 之前开始,但在 end 之前不结束)呢?
-
请在此处包含更多显示您希望实现的示例数据。
-
@Thilo:即使在那种情况下也是 0。基本上,如果任何一个输入日期介于两者之间,则用户不允许预订此系统。
-
@TimBiegeleisen:我修改了我的问题。请检查和帮助
-
为什么要存储过程?
标签: sql oracle plsql oracle11g